我的代码是这样的:
public function getList()
{
$query = self::join('master_datas','master_datas.id','=','users_banks.bank_id')
->orderBy('account_name')
->findAll([
'users_banks.*',
'master_datas.name',
DB::raw('replace(master_datas.information->logo, \'"\', "")')
]);
return $query;
}
所以,我有实地信息。 json形式的字段信息如下:
{"logo": "icon-chelsea.png", "branch": "london", "owner": "chelsea"}
当我致电information->logo
时,结果为:"icon-chelsea.png"
。
我想删除双引号。我尝试使用replace替换上面的代码。但它不起作用
我也添加了use Illuminate\Support\Facades\DB;
。但是,它是相同的
有没有人可以帮助我?
答案 0 :(得分:1)
对于Eloquent,您可以create a mutator存储logo
字符串而不使用双引号:
public function setLogoAttribute($value)
{
$this->attributes['logo'] = str_replace('"', '', $value);
}
如果您从其他地方获取数据,请在获取数据时使用an accessor:
public function getLogoAttribute($value)
{
return str_replace('"', '', $value);
}