Robię projekt z Lavelem. Chciałbym zwrócić język klienta ... ale z jakiegoś powodu zwracam pustą odpowiedź. Jeden klient może mieć tylko jeden język, a jeden język można mówić przez wielu klientów.

Jest to model języka:

public function customers()
    {
        return $this->hasMany('App\Customer', 'language_id', 'id');
    }

Jest to model klienta:

public function language()
{
    return $this->belongsTo('App\Language', 'id', 'language_id');
}

I to właśnie próbowałem wrócić:

return Customer::where('customer_id', $customerId)->first()->language()->pluck('language_id');

Powinienem otrzymać wartości takie jak FR, IT, EN ... ale otrzymuję tylko [].

Może pomóc?

0
Michele Della Mea 28 październik 2020, 18:46

1 odpowiedź

Najlepsza odpowiedź

Myślę, że źle w twoim relacji:

Customer Model:

public function language()
{
    return $this->belongsTo('App\Language',  'language_id','id');
}

Jak w Doc Drugi parametr w wartości Bądź kolumną Round_key. Możesz je pominąć, jeśli przestrzegasz konwencji Latevel o nazewnictwo

2
OMR 28 październik 2020, 15:50