私はLaravelで新しく、雄弁に自己の関係に問題があります。 フィールドid
とreferrer
のテーブルusers
があります。ここでreferrer
はテーブルユーザーの外部キーです(各ユーザーにはユーザーでもある参照者が1人あります)。テーブルinvoice
はユーザーとの関係があります。ララベルEloquentの自己関係
私はすべての請求書をユーザーと参照元に送付したいと考えています。
public function referrer()
{
return $this->hasOne('User', 'referrer');
}
public function referral()
{
return $this->belongsTo('User','id');
}
public function invoice()
{
return $this->hasMany('invoice', 'user_id');
}
と問合せ::
はモデルでは、私は関係作っ
$this->model->with(['invoice'])
->with(['referrer'=> function($q)
{
$q->with(['invoice']);
}]);
}]);
をしかし、このクエリは、私のユーザーとその請求書を返しますが、キーリファラちょうど空の配列を返しませんreferrer =>
私は関係を変更:
public function referrer()
{
return $this->hasOne('User', 'referrer');
}
public function referral()
{
return $this->belongsTo('User','referrer');
}
public function invoice()
{
return $this->hasMany('invoice', 'user_id');
}
そして今、その結果をダンプするには、私はリファラの関係を参照してくださいが、私は$user->referrer
を取得しようとしたとき、私は代わりに、参照元のオブジェクトのちょうどリファラIDを持っ
おかげで、すでに試みたが、うまくいきませんでした:
回答はここにありました。 –