Как пройти запрос соединения в laravel для просмотра маршрута - PullRequest
0 голосов
/ 29 января 2019

У меня есть этот маршрут, проходящий модель уведомления:

Route::view('masaya', 'pages.notifications-table', [
    'data' => App\Notification::all()
]);

Как передать этот запрос вместо модели:

$inspect = DB::table('notifications')
    ->leftJoin('franchises', 'franchises.id', '=', 'notifications.franchise_id')
    ->leftJoin('units', 'units.id', '=', 'notifications.unit_id')
    ->select('franchises.id as fid', 'franchises.case_number', 'franchises.authorize_units', 'franchises.deno', 'franchises.route_name', 'franchises.expiry_date', 'franchises.date_granted', 'units.id as uid', 'units.plate_number', 'units.motor_number', 'units.chassis_number', 'units.make', 'notifications.id', 'notifications.remarks', 'notifications.created_at', 'notifications.plate_picture')
    ->orderBy('units.updated_at', 'desc')
    ->paginate(20);

1 Ответ

0 голосов
/ 29 января 2019

Если это набор результатов, который вы будете часто использовать, в вашей модели App\Notification может быть статический метод, такой как:

public static function withFranchisesAndUnits()
{
    return \DB::table('notifications')
        ->leftJoin('franchises', 'franchises.id', '=', 'notifications.franchise_id')
        ->leftJoin('units', 'units.id', '=', 'notifications.unit_id')
        ->select('franchises.id as fid', 'franchises.case_number', 'franchises.authorize_units', 'franchises.deno', 'franchises.route_name', 'franchises.expiry_date', 'franchises.date_granted', 'units.id as uid', 'units.plate_number', 'units.motor_number', 'units.chassis_number', 'units.make', 'notifications.id', 'notifications.remarks', 'notifications.created_at', 'notifications.plate_picture')
        ->orderBy('units.updated_at', 'desc')
        ->paginate(20);
}

.., и просто вызывайте его так:

Route::view('masaya', 'pages.notifications-table', [
    'data' => App\Notification::withFranchisesAndUnits()
]);
...