首页 > 解决方案 > Ajax_JQUERY 和 Laravel 控制器?

问题描述

我是 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);
     }
   }
}

问题这是我不知道如何使用编辑按钮添加 id 并与引导类 btn btn 成功一起显示的问题//它从学生表中获取所有数据但我不知道如何添加你能指导我做什么吗做,我搜索了很多,但它没有解决我的问题谢谢

标签: jqueryajaxlaravellaravel-bladelaravel-controller

解决方案


问题是您没有正确传递 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::get('/live_search', 'LiveSearch@index')->name('live.search');

你也可以这样指定

route('live.search')

我不确定您的路线,如果您有不同的路线,请更改它。


推荐阅读