Laravel 4 - Вставить через отношение hasMany

Вот мои модельные отношения...

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

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

Когда я вставляю данные в login_logs В таблице в моей базе данных все данные введены правильно, но он не вставляет идентификатор пользователя в user_id (laravel ожидает этого).

Вот как я вставляю в 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 ответ

Решение

Вы должны прикрепить пользователя.

Это здесь, в документации http://laravel.com/docs/eloquent

Обновить:

Перечитывая свой вопрос, я думаю, что вы хотите сначала найти пользователя по его идентификатору. $user->loginLog()->insert не $loginLog->insert

Попробуйте связать это так:$user::find($theIDYouWant)->loginLog()->insert

Другие вопросы по тегам