Здесь возникает более важный вопрос, и нужно ли начинать с вашего поля значение NULL. Обычно вы можете решить эту проблему, не имея поля, которое можно обнулять, что заставит вас вставлять пустую строку во время вставки / обновления, а не при ее отображении. Тем не менее, я понимаю, что необязательно разрешать пустые значения в базе данных, но никогда не возвращать их при возврате ресурса.
При этом вы можете решить свою проблему следующим образом:
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
class RequirementResource extends Resource
{
public function toArray($request)
{
return [
'active' => $this->active,
'person' => $this->person !== null ? $this->person : '',
'edit' => false,
'buttons' => false,
'text' => $this->text !== null ? $this->text : '',
];
}
}
Как упомянул Двек, это можно сократить до $this->text ? : ''
, но есть небольшое предостережение, которое $this->text ? : ''
вернет ''
для всех значений $this->text
, которые falsey и необязательно равны нулю. В вашем конкретном случае, поскольку текст является либо строкой, либо нулем, он будет таким же, но это не всегда так.