Контроллер Ajax_ JQUERY и Laravel? - PullRequest
0 голосов
/ 12 июля 2020

Я новичок в Laravel, мне нужно добавить кнопку редактирования и отображения в контроллере, вот мой контроллер

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;

class LiveSearch extends Controller
{
    function index() {
        return view('live_search');
    }

    function action(Request $request) {
     if($request->ajax()) {
        $output = '';
        $query = $request->get('query');

        if($query != '') {
           $data = DB::table('students')
             ->where('student_name', 'like', '%'.$query.'%')
             ->orWhere('student_address', 'like', '%'.$query.'%')
             ->orWhere('student_registration', 'like', '%'.$query.'%')
             ->orderBy('student_name', 'desc')
             ->get();
        } else {
           $data = DB::table('students')
             ->orderBy('student_name', 'desc')
             ->get();
        }

        $total_row = $data->count();

        if($total_row > 0) {
           foreach($data as $row) {
              $output .= '
                <tr>
                   <td>'.$row->student_name.'</td>
                   <td>'.$row->student_address.'</td>
                   <td>'.$row->student_registration.'</td>
                   <td>'.$row->id.'</td>
                   <td>' <a  href="{{ URL::to(student/ ".$row->id." /edit) }}">Edit</a>'
                         <a href={{ URL::to(student/  '.$row->id.') }}>Show</a></td>
                </tr>';
           }
        } else {
           $output = '
             <tr>
                <td align="center" colspan="5">No Data Found</td>
             </tr>';
        }

        $data = array(
          'table_data'  => $output,
          'total_data'  => $total_row
        );

        echo json_encode($data);
     }
   }
}

ПРОБЛЕМА Вот проблема, я не знаю как добавить идентификатор с кнопкой редактирования и показать вместе с bootstrap class btn btn success // он извлекает все данные из таблицы студентов, но я не знаю, как добавить, не могли бы вы попросить меня, что делать, я много ищу, но это не решает мою проблему, спасибо

1 Ответ

0 голосов
/ 12 июля 2020

Проблема в том, что вы неправильно передаете URL-адрес.

$output .= '
            <tr>
               <td>'.$row->student_name.'</td>
               <td>'.$row->student_address.'</td>
               <td>'.$row->student_registration.'</td>
               <td>'.$row->id.'</td>
               <td>
                   <a href="'.url("student/".$row->id."/edit").'">Edit</a>
                   <a href="'.url("student/".$row->id).'">Show</a>
               </td>
            </tr>';

Если ваш URL-адрес называется route, например:

Route::get('/live_search', 'LiveSearch@index')->name('live.search');

Вы также можете указать это

route('live.search')

Не уверен насчет ваших маршрутов, измените его, если у вас другой маршрут.

...