Расширение модели.
PostModel::extend(function ($model) {
// Добавление связи изображений и новостей.
$model->attachOne['image'] = ['System\Models\File'];
});
Но когда делаю сидер постов
$post = Posts::create([
'title' => $title,
'slug' => str_slug($title),
]);
$file = new File;
// Есть ли у какого-либо поста уже такое изображение, и если есть,
// то генерируем новый файл до тех пор, пока не найдем уникальный.
do {
$filePath = $folderPath.$files[$i+1];
} while (in_array($file->fromFile($filePath)->getLocalPath(),$fileExists));
$post->image = $file;
$post->save();
И возникает ошибка при $post->image
`
String data, right truncated: 1406 Data too long for column 'image' at row 1 (SQL: update
`
Т.е. он не заносит файл в связь, а получается хочет в поле добавить, то тогда конечно, эта ошибка и будет. Как же все же применить связь?
Да я же только вчера кидал ссылку на документацию, где это написано. И пример приводил.
Я это вчера применял. Тоже самое питается записать в базу, а не в связь $post->image = (new File)->fromUrl(url($filePath));
В таблице постов нет же поля image?
Есть, в том-то и дело. И связь есть. Поле image я записываю название файла
в том-то и дело, что ты пытаешься записать в него не название файла удали его из таблицы
Ну вот ты сам себе стреляешь в ногу этим
Я могу только не записывать туда данные. Понимаю, что это мешает. Но поле должно оставаться, это задание тимлида такое
Тимлид дал задание создать релейшн image и поле в модели image?
зачем тебе хвранить имя файла, когда оно есть внутри связи
затем что это задание тимлида
Обсуждают сегодня