@kirill-93

Почему ларавел не сохраняет запись?

Парсю апи и складываю в базу. Случайно обнаружил, что одна из записей не записывается.
echo $post->text . PHP_EOL;
$created = Post::create([
    'text' => $post->text
]);
echo $created->text;

Вот такой код, который выводит строку, которую нужно записать, а затем сохраняет в базу и выводит поле из только что созданной записи в БД.
Выводит этот код все правильно, как будто запись прошла, но следом проверяя в БД эту запись поле пусто.
Поле типа TEXT, строка для записи такая - 'h ttps://twitter.com/thatgirlbishop/status/799115312037646336/photo/1'
UPD: Вначале строки присутствует смайлик, из-за которого видимо все и прячется.
UPD3: Не записывает в базу из-за смайлика. Смайлик сюла вставить тоже не могу. Вот скрин f8ab16a36cc2411c88678c1f441bcc6a.png
Как вставить такую запись?
  • Вопрос задан
  • 740 просмотров
Пригласить эксперта
Ответы на вопрос 5
kentuck1213
@kentuck1213
Проверьте Модель, возможно в свойствет $fillable не указана поля.
Ответ написан
Попробуйте использовать сравнение для поля хранения такой информации - utf8mb4_general_ci .
Ответ написан
Комментировать
AmdY
@AmdY
PHP и прочие вебштучки
Проверьте кодировку и установите сообтвественную для бд или перегоняйте её через iconv
Ответ написан
Комментировать
vikkyshostak
@vikkyshostak
< This head full of dreams.
Заменяйте смайлик на его emoji-код (или html) и все.
Ответ написан
Комментировать
zvermafia
@zvermafia
WebDev
Илья Хребет дал хороший ответ, но если есть проблемы с перекодировкой то можно просто сохранить в JSON формате (json_encode()/json_decode())
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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