Обратите внимание, что это не дубликат этого или этого
У меня есть страница модели с полем json, которая называется options
.
в моей модели страницы я добавил параметры атрибута в переменную $cast
и в переменную $fillable
.
Тогда у меня есть функция pageOptions (), которая должна возвращать класс PageOptions, например:
/*
*@return pageOptions
*/
public function pageOptions() : PageOption
{
$options = ($this->options) ? ($this->options) : [];
return new PageOption($options, $this);
}
класс параметров страницы просто предоставляет функции set () и get (), чтобы разрешить мне устанавливать и получать данные json из поля параметров.
метод set () просто устанавливает данные в переменную $ options, а затем вызывает метод persist, который помещает данные в поле options в базе данных.
/**
* Persist the options.
*
* @return mixed
*/
protected function persist()
{
return $this->model->update(['options' => $this->options]);
}
Instead
я получаю эту ошибку
Объект класса stdClass не может быть преобразован в строку
Я не пытаюсь отобразить какой-либо объект или массив в любом месте моего кода, поэтому я не могу понять, откуда возникла ошибка. , Я попытался json_encode
переменная параметров вручную в методе persist (), но я все еще получаю ту же ошибку. Я также попытался добавить магический метод TOString()
на страницы и классы PageOptions, например,
public function __toString()
{
return $this->name;
}
но все равно не решает.