JhaoDa, «даже не проверял» - отличные советы и рекомендации даёте...
Я так полагаю Вам главное вставить свои пять копеек про «видимо даже документацию не читал»
Artem0071, ты слепой, что ли? «достаточно было того, что запись в БД создавалась». Есть мнение, что раз запись создалась, то и объект вернулся бы как надо, не?
Artem0071, ещё раз — в БД этот атрибут попадает? Потому что если тебе лень ответить «да»/«нет», то лучей поноса тебе и разбирайся сам, мне в угадайку играть не интересно.
Так и задумано. Ключи, начинающиеся с "_", игнорируются методом fill, который в итоге и используется методами вроде firstOrCreate.
Если добавить в fillable явно или сделать guarded пустым массивом должно сработать.
Victor, Artem0071 заявлял ранее, что сделал guarded пустым массивом. Следовательно, поможет только Model::unguard();. Я, признаться, считал, что Model::unguard() === $this->guarded = [], потому что никогда не пользовался этой фичей...
Итого, ключ заполняется, если:
- модель в состоянии unguarded
- ключ находится в fillable
- ключ не находится в guarded (и guarded не равен [*]), fillable пуст и ключ не начинается с _
Так что пустой guarded да, не сработает. Самое правильное добавить в fillable.