Отменить сериализацию данных корзины - Laravel - PullRequest
1 голос
/ 03 марта 2020

Я перечисляю заказы, статус транзакции которых был успешным,

$draft_orders = CashfreeResponse::with('draftOrder')->where('txStatus', 'SUCCESS')->get();

Я получаю результаты для вышеуказанного запроса, как и ожидалось,

В таблице DraftOrder я сохраняю свою корзину как сериализованную. данные, я ищу, чтобы десериализовать данные корзины,

Модель

Пользователь

public function draft_orders()
    {
        return $this->hasMany(DraftOrders::class, 'id', 'user_id');
    }

DraftOrder

public function user()
{
    return $this->belongsTo(User::class);
}

public function cashfreePaymentResponse()
{
    return $this->hasMany(CashfreeResponse::class, 'draft_order_id', 'id');
}

Оплата

public function draftOrder()
        {
            return $this->belongsTo(DraftOrders::class,'draft_order_id');
        }

Содержание таблицы -

user

имя | электронная почта | пароль

оплата

order_id | txStatus

черновик заказов

user_id | cart

Кроме того, мне было интересно, как мне получить данные таблицы пользователя в приведенном выше запросе

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Попробуйте это

$draft_orders = CashfreeResponse::with('draftOrder','user')->where('txStatus', 'SUCCESS')->get();

$data =  unserialize($draft_orders->draftOrder);
print_r($data);
0 голосов
/ 03 марта 2020

Вы можете просто использовать unserialize ($ draft_orders-> draftOrder);

И для пользователя $ draft_orders = CashfreeResponse :: with ('draftOrder', 'user') -> где ('txStatus', 'SUCCESS') -> get ();

В этом запросе вы можете получить данные пользователя из $ draft_orders-> user

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...