0
嘿,我有三個表這樣GROUPBY的關係laravel
--table plan--
id
name
....
----table letter---
id
plan_id
....
---table person----
id
plan_id
name
.....
型號我有:
---Model plan---
class plan extends Model
{
protected $table = 'plan';
public function letter(){
return $this->hasOne('App\letter');
}
public function person(){
return $this->hasMany('App\person');
}
}
--Model person--
class person extends Model
{
public function plan(){
return $this->belongsTo('App\plan');
}
}
--Model letter--
class letter extends Model
{
public function plan(){
return $this->belongsTo('App\plan');
}
}
而且在控制我寫這樣的代碼:
$letter = letter::find($id) // $id from url parameter and it's work
return view('letter',['letter' => $letter]);
羅在查看我想從信件模型acces人名稱作爲截然不同的,所以我寫這樣的代碼
{{ @foreach ($letter->plan()->person()->groupBy('name')->get) as $person }}
,但它返回的錯誤是這樣的: 調用未定義的方法照亮\數據庫\查詢\生成器::人()
哪裏是我的錯(S)?
此外,它是更好地渴望裝載計劃和人'$ letter = letter :: with('plan.person') - > find($ id)'+你的意思是'return view('letter',['persons'=> $ persons]);' – Maraboc
好了這個問題是固定的,但在那裏顯示另一個公關oblem:語法錯誤或訪問衝突:1055'mydb.person.id'不在GROUP BY –
nah現在一切正常,只是配置錯誤,謝謝 –