Как использовать замену в запросе выбора? (Laravel 5.3)

Мой код такой:

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; тоже. Но это то же самое

Есть кто-нибудь, кто может мне помочь?

0

Решение

Для Eloquent вы можете создать мутатор хранить logo строка без двойных кавычек:

public function setLogoAttribute($value)
{
$this->attributes['logo'] = str_replace('"', '', $value);
}

Если вы получаете данные из другого места, используйте аксессор когда вы получаете данные:

public function getLogoAttribute($value)
{
return str_replace('"', '', $value);
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector