Laravel 4 - 通过hasMany关系插入

时间:2014-08-07 02:50:24

标签: php laravel laravel-4

这是我的模特关系...

class User extends Eloquent {
    public function loginLog(){
        return $this->hasMany('LoginLog');
    }
}

class LoginLog extends Eloquent {
    public function user(){
        return $this->belongsTo('User');
    }
}

当我将数据插入数据库中的login_logs表时,所有数据都输入正确,但不会将用户的ID插入 user_id (laravel期望这样)。 / p>

以下是我插入login_logs的方式。

$user->loginLog()->insert(array(
    'user_id'       => $user->id, //I could put it here, but then what is the point in a relationship?
    'email'         => $user->email,
    'ip_address'    => Request::getClientIp(),
    'country_code'  => $country_code,
    'status'        => $status,
    'created_at'    => Helper::dateTimeNow()
));

1 个答案:

答案 0 :(得分:1)

您必须附加用户。

它在文档中 http://laravel.com/docs/eloquent#inserting-related-models

更新

在重新阅读您的问题时,我认为您希望首先通过他们的ID找到用户$user->loginLog()->insert而不是$loginLog->insert

尝试将其链接: $user::find($theIDYouWant)->loginLog()->insert