毫无疑问,这是一个非常基本的问题,但我不能为我的生活让我头晕目眩。
我有两个表 - 广告系列和操作。每个操作都附加到广告系列,每个广告系列都有很多操作。
关系:
class Campaign extends Eloquent {
public function actions()
{
return $this->hasMany('Action');
}
class Action extends Eloquent {
public function campaign()
{
return $this->belongsTo('Campaign');
}
在查询单个广告系列时,我还想包含与其相关的操作。我当前的控制器方法收集操作,但显示所有广告系列,而不是一个:
class CampaignsController extends BaseController {
public function getCampaign($id)
{
$data['campaign'] = Campaign::find($id)->with('actions')->get();
return $data;
}
广告系列:find($ id)正确查找单个广告系列,但我应该如何引入属于单个广告系列的操作,而不会破坏它?
感谢。
答案 0 :(得分:0)
如果您使用get()
,则无需使用find()
。
find()
的行为类似于SQL子句LIMIT 1
,因为它搜索您的主键,该字段中的每个值都是不同的。
Campaign::with('actions')->find($id);