小编Jay*_*Jay的帖子

Laravel在将数组存储到Json数据库字段中时获得“数组到字符串的转换”

我正在尝试将带有选项的数组保存到我的postgres数据库的json数据字段中。我正在使用Laravel 5.5,并且正在使用扩展名“ dimsav / laravel-translatable”进行翻译。

我的模型问题看起来像这样:名称空间App;

use Illuminate\Database\Eloquent\Model;
use Dimsav\Translatable\Translatable;

class Question extends Model
{
    use Translatable;
    public $translatedAttributes = ['options', 'answer'];

    protected $casts = [
        'options' => 'array'
    ];
}
Run Code Online (Sandbox Code Playgroud)

模型QuestionTranslation如下所示:

namespace App;

use Illuminate\Database\Eloquent\Model;

class QuestionTranslation extends Model
{

public $timestamps = false;
public $fillable = ['options', 'answer'];
Run Code Online (Sandbox Code Playgroud)

}

以及QuestionsController中的store动作:

 public function store(Request $request)
{
    $question = new Question();

    $options[1] = "test1";
    $options[2] = "test2";

    $question->answer = 1;
    $question->options = $options;

    $question->save();

}
Run Code Online (Sandbox Code Playgroud)

当我尝试存储该数据时,出现错误:

Illuminate \ Database \ …
Run Code Online (Sandbox Code Playgroud)

php postgresql laravel-5.5

7
推荐指数
2
解决办法
6682
查看次数

标签 统计

laravel-5.5 ×1

php ×1

postgresql ×1