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