Я хотел бы включить добавленные атрибуты во время создания моего ответа API в классе ресурсов.
Для этого у меня есть класс модели с именем Article.php
class Article extends Model
{
protected $table = 'articles';
protected $fillable = ['id', 'articleNo'];
protected $appends = ['is_available'];
public function getIsAvailableAttribute() {
return true;
}
ArticleController.php
public function index() {
$articles = Article::all();
return ArticleResource::collection($articles);
}
ArticleResource.php
class ArticleResource extends JsonResource
{
public function toArray($request)
{
return [
'id' => $this->id,
'articleNumber' => $this->articleNo,
'isAvailable' => $this->is_available,
];
}
}
Когда я пытаюсь запустить свой код, выдается следующая ошибка:
ErrorException (E_NOTICE) Неопределенное свойство: stdClass :: $ is_available
если я удаляю строку isAvailable из моего ArticleResource, она работает.