私は、Header、Details、Itemという3つのモデルを持っています。 ヘッダはID、はをCUSTOMER_ID、詳細を有するを有するID、header_id(FOREIGN KEY)、及びITEM_ID(FOREIGN KEY)、アイテムたID、名 。今、私はララベルの雄弁な関係を使ってそのテーブルを関連づけたいと思います。私はそれを行うことができました:Eloquent:Laravelの3つのテーブルとの関係5
class Details extends Model
{
public function item() {
return $this->belongsTo('App\Item', 'bill_item_id');
}
public function header() {
return $this->belongsTo('App\Header', 'header_id');
}
}
問題は私のコントローラにありますが、詳細を知りたいのですが詳細にcustomer_idがありません。
$detail = Details::where('customer_id', $id)->get();
$detail->load('header', 'item');
customer_idフィールドはヘッダーモデルにあります。すべての詳細が得られればうまくいきますが、特定の顧客を獲得したいと考えています。
あなたはまだ関係タイプ(別名:oneToMany、oneToOne、manyToMany ...)を宣言しなければならないと思います。詳細については、公式のsyte:https://laravel.com/docs/5.3/eloquent-relationshipsを参照してください。 – avilac