Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]model i pobieranie list
Forum PHP.pl > Forum > Przedszkole
snerf
Witam

modele:
  1. class Product extends Model
  2. {
  3. protected $fillable = [
  4. 'category_id',
  5. 'product_number',
  6. 'img'
  7. ];
  8. public $table = 'products';
  9.  
  10. public function categories(){
  11. return $this->belongsToMany('App\Category');
  12. }
  13. public function getCategoryIdAttribute(){
  14. dd($this->categories->lists('id')->ToArray()); <-- tu jest błąd
  15.  
  16. }
  17. }

  1. class Category extends Model
  2. {
  3. protected $fillable = [
  4. 'name',
  5. 'img'
  6. ];
  7. public $table = 'categories';
  8.  
  9. public function products(){
  10. return $this->hasMany('App\Product');
  11. }
  12. }

mysql:
-categories
:id
:name

-products
:id
:category_id

error:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'lavarel.category_product' doesn't


Rozumiem że błąd mam z pivotami?
Pyton_000
Tak
snerf
Miałem nadzieje że odpowiesz tongue.gif

Pivoty nie są po to by zrobić osobną tabelke? w moim przypadku była by to:

-category_product
:id
:product_id
:category_id


Tylko że ja jej nie potrzebuje gdyż u mnie jeden produkt ma posiadać tylko jedną kategorie.
Pyton_000
zamień w Product na "belongsTo"

PS. Nie długo zaczną mnie nazywać tu LaraMaster tongue.gif
snerf
Próbowałem już tak i niby można lecz wtedy nie zadziała lists:

  1. public function getCategoryIdAttribute(){
  2. dd($this->categories->lists('id')->ToArray());
  3.  
  4. }

Nie rozpoznaje funkcji lists. Bo nie zwraca mi l.mnogiej ?:/

Pyton_000
a co Ci zwraca ->categories ?
tak w ogóle to po co konwertujesz to na array? Z Collection też się bardzo fajnie korzysta.
snerf
na belongsto zwraca null a na many error z 1 postu.
na array bo chce wyświetlić to w formularzu by podświetlić dany select z bazy danych


@edit
Dobra mam... wystarczyło przenieść
  1. public function getCategoryIdAttribute(){
  2. return $this->categories->lists('id')->ToArray();
  3.  
  4. }

do modelu category i tyle.

nie rozumiem czemu. ale działa póki co.

Dzięki pyton za chęć niesienia pomocy! +++
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.