Чтобы определить, является ли запрос ajax-запросом, вы можете использовать метод ajax()
для объекта Request
, введенного в действие controll:
public function index(Request $request)
{
$results = DB::table('books')
->where('bookid', $request->id)
->get();
if ($request->ajax()) {
return response()->json($results);
}
return view('status.status', [
'proc' => $results
]);
}
Я продолжил и исправил внедрение SQLУязвимость в вашем запросе для вас путем замены запроса на правильный.Его все еще можно улучшить, используя модель Book
вместо простого запроса к базе данных, но это также хорошо.
Запрос из вашего комментария можно упростить, заменив left join
.Просто возьмите подзапрос в качестве базового и right join
его с processspj
:
DB::table('processtrans as pt')
->leftJoin('processmaster as pm', 'pm.pcm_id', '=', 'pt.pct_pcm_id')
->rightJoin('processspj as ps', 'ps.pc_id', '=', 'pt.pct_pc_id')
->where('pt.pct_pc_id', $request->id)
->select([
'ps.*',
'pm.pcm_bname',
'pt.created_at',
'pt.updated_at',
'pt.pct_id',
'pt.pct_leadtime',
'pt.pct_pcm_id',
'pt.pct_pc_id',
'pt.pct_planfinishdate',
'pt.pct_startdate',
'pt.pct_status',
])
->get();