Мой код такой:
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"
,
Я хочу удалить двойные кавычки. Я пытался понравиться мой код выше, используя замену. Но это не сработало
Я должен был добавить use Illuminate\Support\Facades\DB;
тоже. Но это то же самое
Есть кто-нибудь, кто может мне помочь?
Для Eloquent вы можете создать мутатор хранить logo
строка без двойных кавычек:
public function setLogoAttribute($value)
{
$this->attributes['logo'] = str_replace('"', '', $value);
}
Если вы получаете данные из другого места, используйте аксессор когда вы получаете данные:
public function getLogoAttribute($value)
{
return str_replace('"', '', $value);
}
Других решений пока нет …