Laravel的错误?得到记录的id

时间:2014-07-14 05:42:10

标签: php mysql laravel

这似乎是个错误,但我不确定。这很简单。 我有一个属于用户的安装程序。他们都有一个名为" 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

0 个答案:

没有答案