我有2个型号:
class User extends Eloquent
{
public function questions()
{
return $this->hasMany('Question');
}
}
class Question extends Eloquent {
public function users()
{
return $this->belongsTo('User');
}
}
在我的问题控制器中,我有以下功能:
public function index()
{
$questions = Question::with('users')->get();
return View::make('questions.index')->with('questions', $questions);
}
但是当访问此路由时,我收到以下错误:
'Trying to get property of non-object ...'
但是,如果我将外键添加到问题模型中,如下所示:
public function users()
{
return $this->belongsTo('User', 'user_id');
}
然后一切正常。
问题是,我认为你只需要将外键添加为第二个参数,如果它不遵循使用模型名称后跟_id的惯例,我就这样做了。
我知道它现在工作正常,但我想知道为什么我必须添加外键作为第二个参数。
提前致谢。