这很奇怪。
在我的开发机器上(vagrant w / Debian Wheezy,PHP 5.5.7),以下雄辩查询按预期工作:
Company::whereUserId($user_id)->orWhereHas('users', function($q) use ($user_id) {
$q->where('users.id', '=', $user_id);
});
我的公司' model定义了这种关系:
public function users()
{
return $this->belongsToMany('User', 'company_user', 'company_id', 'user_id');
}
然而,在生产,相同的操作系统和PHP版本上,我收到了一个FATAL PHP错误:
PHP Fatal error: Call to a member function getQuery() on a non-object in /var/www/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/BelongsToMany.php on line 247
我很难过。我试过只是 - >有('用户),这是有效的,所以我知道正在使用外国模型。但是我很奇怪,每个环境都会得到不同的结果!有什么想法吗?