我正在使用Lumen 5.8
构建应用程序,并具有一个非常简单的模型,如下所示:
class Party extends Model {
protected $table = 'party';
public function campaigns(){
return $this->hasMany('App\Campaign');
}
}
class Campaign extends Model {
protected $table = 'campaign';
public function party(){
return $this->belongsTo('App\Party');
}
}
我的表定义如下:
party (id,name)
campaign (id,name,party_id)
当我在Campaign或Party上使用find方法时,它返回正确的行。但是,如果我尝试使用这种关系并让所有竞选活动都没有聚会,那么它就永远不会返回一行。
我尝试了以下代码:
$campaings = Party::find($id)->campaigns();
,结果为空!但是,如果我使用以下内容,则可以获取所有广告系列:
$campaings = Campaign::where('party_id' , $id)->get();
我做错了什么?
谢谢
答案 0 :(得分:0)
要获取广告系列行,您需要在查询的末尾添加->get()
:
Party::find($id)->campaigns()->get();
或
Party::find($id)->campaigns;