Я хочу спросить, почему, когда я вызываю 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;
}
Здесь я пытаюсь снова вызвать имя таблицы, но все еще " данные отсутствуют "
Может кто-нибудь объяснить, почему ?
Спасибо всем.