这似乎是个错误,但我不确定。这很简单。 我有一个属于用户的安装程序。他们都有一个名为" id"在他们的桌子上。
class Installer extends \Eloquent
{
public function user() {
return $this->belongsTo('User')->withTrashed();
}
}
在数据库中,如果我运行下面的查询,我会得到正确的答案,即installer_id = 97和user_id = 251
SELECT
installer.id AS 'installer_id',
user.id AS 'user_id'
FROM installer
LEFT JOIN user ON (installer.user_id = user.id)
WHERE
installer.installer_id = 'I073102'
;
然而,在Laravel Eloquent中,我认为他们都是251。
$query = Installer::orderBy('user.updated_at', 'DESC')
->leftJoin('user', 'user.id', '=', 'installer.user_id')
->where('installer_id', '=', $installer_id)
->withTrashed()
;
if (Input::has('first_name'))
{
$query->where('user.first_name', 'LIKE', '%' . Input::get('first_name') . '%');
}
$installers = $query->paginate(15);
这是我得到的回应:
$installer->id = 251
$installer->user->id = 251