Larave WhereNotNull всегда данные отсутствуют - PullRequest
0 голосов
/ 02 мая 2020

Я хочу спросить, почему, когда я вызываю API разбивки на страницы, сообщение об ошибке « data missing » всегда появляется при использовании whereNotNull.

это код, который я сделал.

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $req = $this->request;

        $query = DB::table('voucher')->whereNotNull('voucher.type')
         ->where('type', '!=', '')->select('id', 'type', 'actived_at', 'expired_at', 'created_at');

        if ($this->request->has('sort')) {
            $sorts = explode(',', $this->request->sort);
            foreach ($sorts as $sort) {
                list($sortCol, $sortDir) = explode('|', $sort);
                $query = $query->orderBy($sortCol, $sortDir);
            }
        } else {
            $query = $query->orderBy('created_at', 'desc');
        }

        $perPage = $this->request->has('per_page') ? (int) $this->request->per_page : 10;
        $pagination = $query->paginate($perPage);
        $pagination->appends([
            'sort' => $this->request->sort,
            'end_to' => $this->request->end_to,
            'per_page' => $this->request->per_page
        ]);
        return response()->json(new MP($pagination));
    }

в коллекции ресурсов

/**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    public function toArray($request)
    {
        return [
            'hashedId' => Hashids::connection('alternative')->encode($this->id),
            'created_at' => Carbon::parse($this->created_at)->format('Y-m-d H:i:s'),
            'hour' => $this->getHour($this->actived_at),
            'price_type' => $this->type,
            'duration' => $this->getDuration($this->actived_at, $this->expired_at),
            'actived_at' => $this->actived_at
        ];
    }

    public function getHour($value)
    {
        return Carbon::parse($value)->format('H');
    }

    public function getDuration($start, $end)
    {
        $to = Carbon::createFromFormat('Y-m-d H:i:s', $start);
        $from = Carbon::createFromFormat('Y-m-d H:i:s', $end);
        $duration = $to->diffInMinutes($from);

        return $duration;
    }

Здесь я пытаюсь снова вызвать имя таблицы, но все еще " данные отсутствуют "

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

Спасибо всем.

Ответы [ 2 ]

0 голосов
/ 02 мая 2020

Извините, все это неправильно из кода, который я сделал. Эти «пропущенные данные» связаны с тем, что у меня не было десяти данных.

, как в этом разделе кода.

$perPage = $this->request->has('per_page') ? (int) $this->request->per_page : 10;

, если есть запрос per_page, будет возвращено значение согласно запросу, но в противном случае это будет запрос по умолчанию 10 данных

0 голосов
/ 02 мая 2020

Я надеюсь, что это поможет вам:

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