• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Laravel - relacja. Dodanie kategorii do wpisu

Object Storage Arubacloud
0 głosów
160 wizyt
pytanie zadane 5 kwietnia 2020 w PHP przez marcolo Obywatel (1,530 p.)
edycja 5 kwietnia 2020 przez marcolo

Mam model 'post' i 'category' mam utworzoną relację pomiędzy nimi. Pododawałem sobie "z palca" do bazy wpisy, i pobiera się ok. Ale nie wiem, jak tworzyć wpisy w pivotowej tabeli przy dodawaniu posta.

W pivotovej tabeli jest tylko 'id', 'post_id' i 'category_id'. Ale post dopiero jest tworzony i nie mam jeszcze jego id, jak takie coś się robi?

Mogę mieć id używając:

$post->id;

ale czy jeśli mam utworzoną relację nie powinno to jakoś działać inaczej, nie jest to jakoś zautomatyzowane?

2 odpowiedzi

+2 głosów
odpowiedź 5 kwietnia 2020 przez eunstachy Stary wyjadacz (14,180 p.)
wybrane 6 kwietnia 2020 przez marcolo
 
Najlepsza

Jeśli masz utworzone odpowiednie relacje to tworzysz post np w ten sposób

$post = Post::create([
  // Post data
]);

Metoda create zwróci obiekt właśnie utworzonego postu. Następnie musz przypisać do tego postu kategorie (załóżmy, że będą to kategorie o id 1, 2 i 5.

$post->categories()->attach([1, 2, 5])

I to właściwie tyle :)

+1 głos
odpowiedź 5 kwietnia 2020 przez HaKIM Szeryf (87,590 p.)

Jeżeli korzystasz z Doctrine ORM to utrwal obiekt (persist) przed odwołaniem do idka.

$this->em->persist($entity);
$entity->id();

Ja osobiście nie lubię takiego syfu w kodzie, więc po prostu w konstruktorze encji wymagam podanie idka, przez co klient ma dostęp do utworzonego id bez takiego obrzydlistwa jak na górze.

 

 
1
komentarz 5 kwietnia 2020 przez HaKIM Szeryf (87,590 p.)

Ugh, nie zauważyłem, że piszesz w laravel.

W takim wypadku mogę od siebie jedynie poratować linkiem.

https://stackoverflow.com/questions/30465374/how-to-get-the-id-of-the-current-model-in-laravel-when-saving

Podobne pytania

0 głosów
0 odpowiedzi 112 wizyt
+1 głos
1 odpowiedź 523 wizyt
pytanie zadane 12 lipca 2021 w Java przez kozluck Nowicjusz (220 p.)
0 głosów
1 odpowiedź 869 wizyt
pytanie zadane 23 grudnia 2019 w SQL, bazy danych przez gmcode Gaduła (3,120 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...