Задать вопрос
@kirill-93

Странная ошибка laravel?

У модели есть несуществующее свойство comma_tags. Это теги через запятую. Выглядит это так:
class Article  extends Model
{
protected $appends = ['comma_tags'];

public function tags()
    {
        return $this->belongsToMany('App\Models\Tag');
    }

    public function getCommaTagsAttribute()
    {
        return $this->tags->implode('name', ', ');
    }
}

То есть я у каждого эксземпляра класса Article могу получать список тегов строкой.
Все хорошо, но теперь при создании новой статьи я получаю странную ошибку
Column not found: 1054 Unknown column 'comma_tags' in 'field list'

Создать статью я пытаюсь так
Article::create([
    'name' => $name,
    'text' => $text
]);

То есть я даже не передаю туда никакого comma_tags. Это странно, потому что это не единственное такое "ненастоящее" свойство. Но с другими таких проблем не было.
В чем может быть дело?
  • Вопрос задан
  • 120 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Dase23
@Dase23
back-end developer
Это ошибка не laravel, а SQL.
Сделай
dd(Article::create([
    'name' => $name,
    'text' => $text
]));


и посмотри какой ORM создает запрос к БД. Сразу увидишь в чем дело;)

не понимаю - зачем нужно создавать не существующее свойство в модели) расскажешь?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы