我将 JSON 字符串存储在 MySQL 表的一列中。当我尝试通过 API 将该列数据作为 php/json 数组返回时,它仍然是一个字符串。这是我的代码,它返回一个问题数组,在每个问题对象中,我都将 options 数组作为 JSON stringify。但是,当它返回时,我不希望选项被字符串化。 public function getQuestions($id, Request $request) { // return $id; $questions = Question::where('quiz_id', $id)->orderByRaw("RAND()")->get(); $questions->makeHidden(['ans']); // $questions->toJson(['options']); // $questions['options'] = json_encode(questions['options']); return $questions; }它像这样返回。[ { "id": 100000008, "quiz_id": 10000, "title": "কোন বানানটি সঠিক?", "options": "[\"কলসি\",\"কলসই\",\"কলশি\",\"কলশী\"]", "answer": 1 }, { "id": 100000009, "quiz_id": 10000, "title": "কোন বানানটি সঠিক?", "options": "[\"ঠোট\",\"ঠোঁট\",\"থট\",\"কোনটি নয়\"]", "answer": 2 }]但我想要这样:[ { "id": 100000008, "quiz_id": 10000, "title": "কোন বানানটি সঠিক?", "options": ["কলসি","কলসই","কলশি","কলশী"], "answer": 1 }, { "id": 100000009, "quiz_id": 10000, "title": "কোন বানানটি সঠিক?", "options": ["ঠোট","ঠোঁট","থট","কোনটি নয়"], "answer": 2 }]
1 回答
慕沐林林
TA贡献2016条经验 获得超9个赞
我刚刚添加了 $casts 将字符串转换为数组
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Question extends Model
{
protected $table = 'question';
protected $fillable = [
'quiz_id',
'title',
'opt1',
'opt2',
'opt3',
'opt4',
'ans',
'options',
'answer'
];
protected $casts = [
'options' => 'array',
];
public function quiz()
{
return $this->belongsTo('App\Quize', 'quiz_id' , 'id');
}
}
- 1 回答
- 0 关注
- 119 浏览
添加回答
举报
0/150
提交
取消