Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем привет,
В модели app/User.php прописан :
public function userChatMessages()
{
return $this->hasMany('App\UserChatMessage');
}
В модели app/UserChatMessage.php прописан :
public function user(){
return $this->belongsTo('App\User', 'user_id','id');
}
И выполняя фактори :
foreach( $users as $next_key=>$nextUser ) {
$nextUser->userChatMessages()->save( factory( App\UserChatMessage::class, 5 )->make() ); // line 52 with error !
}
Получаю ошибку :
Type error: Argument 1 passed to Illuminate\Database\Eloquent\Relations\HasOneOrMany::save() must be an instance of Illuminate\Database\Eloquent\Model, instance of Illuminate\Database\Eloquent\Collection given, called in /mnt/_work_
sdb8/wwwroot/lar/tasks/database/migrations/2018_01_13_135147_add_faker_data_user_chat_messages.php on line 52
Причем этой ошибки нет если написать без указания колва строк сообщений:
$nextUser->userChatMessages()->save( factory( App\UserChatMessage::class )->make() ); // Создана одна строка
В чем проблема и как исправить ?
Спасибо !
Не в сети
Ты коллекцию вместо модели передаешь. Замени:
factory(App\UserChatMessage::class, 5 )->make()
На:
factory(App\UserChatMessage::class)->make()
Не в сети
Страницы 1