как я могу сделать запрос в laravel - PullRequest
0 голосов
/ 02 марта 2020

Я просто тренируюсь над приложением, которое было разработано другой компанией, и я не комментирую приложения, и я впервые использую Laravel Framework, поэтому мне нужно сделать фильтр для ищите клиентов, на которых они уже подписаны на приложения, и я не знаю, как я могу сделать запрос на приложения и где я могу показать результат? большое спасибо, ребята за продвижение $ client_filter = $ request-> get ('client', null);

// chercher for the customers from the Courses table
if($client){
   $courses = $query->Where('client_id', 'like', '%' . $client . '%');

}
// to search for customers they already have a courses with all information date time and adress of start and arrive on the filter i wanna to add
/*if($client_filter){
  $projets = $query->Where('client_id', '=' , $client . '%');
}
*/

if($date_depart){
   $courses = $query->Where('date_depart', 'like', '%' . $date_depart . '%');

}
if($date_arrivee){
   $courses = $query->Where('date_arrivee', 'like', '%' . $date_arrivee . '%');

}
if($chauffeur){
   $courses = $query->Where('user_id', 'like', '%' . $chauffeur . '%');

}
if($status){
   $courses = $query->Where('status', 'like', '%' . $status . '%');

}

// for the view of the customer
$courses = $query->where('id' -> input::get('client_id'),'nom_usage' -> input::get('nom_usage'))->get();
return view($this->views.'.search',compact('Courses'));


$courses = $query->orderBy('id','desc')->get();
    return view($this->views.'.search',compact('courses'));

}

Ответы [ 2 ]

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

Ваш вопрос довольно сложен для понимания, но я постараюсь помочь. Используйте Условные предложения в вашем контроллере для построения вашего запроса, например:

$courses = DB::table('courses')
    ->when($request->filled('client'), function ($query) {
        return $query->where('client_id', $request->client);
    })
    ->get();

Затем передайте эти данные в представление:

return view('courses.index')->with(['courses' => $courses]);

Затем, по вашему мнению courses/index.blade.php вывод ваших данных:

@foreach ($courses as $course)
    {{ $course->name }}
@endforeach
0 голосов
/ 02 марта 2020

если вы используете какое-либо условие из вашего запроса, вы должны использовать эту структуру:

$query = YourModel::query();

if ($request->filled('condition_1')){
    $query->where('col_1','operator',$request->condition_1);
}


if ($request->filled('condition_2')){
    $query->where('col_2','operator',$request->condition_2);
}

$objects = $query->latest()->paginate()->appends($request->query());

// return view ...

с этой структурой вы можете использовать много условий в вашем запросе.

...