Это примерная база данных, иллюстрирующая мою проблему. У меня есть таблица, в которой есть некоторые поля (на самом деле многие), которые являются необязательными и для которых не задано какое-либо значение по умолчанию. Очевидно, когда я делаю
$user = DB::table('users')
->select('*')
->where('id', $user_id)
->first();
дает NULL для этих полей
["id"]=>
int(120)
["name"]=>
string(4) "jack"
["email"]=>
string(12) "jack@example.com"
["mobile"]=>
string(11) "+4400123456"
["facebook_link"]=>
NULL
["twitter_link"]=>
NULL
["instagram_link"]=>
NULL
["youtube_link"]=>
NULL
, что является проблемой, так как я отправлю это как ответ API json, и мобильная команда не очень рада видеть там нулевое значение, вместо этого они предпочли бы пустую строку (''). сделайте это, не проверяя вручную каждое поле, как я сейчас делаю
$user->facebook_link = !empty($user->facebook_link)? $user->facebook_link: '';
Вы можете сказать, просто назначьте столбцам значения по умолчанию, что можно сделать, но это займет больше времени, так как это удаленная база данных. В настоящее время моя лучшая ставка - COALESCE, но я надеюсь на некоторую подстройку в самом laravel, которая решит эту проблему.