亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Laravel 數據表在添加額外列時出現 net::ERR_EMPTY_RESPONSE 錯誤

Laravel 數據表在添加額外列時出現 net::ERR_EMPTY_RESPONSE 錯誤

PHP
小唯快跑啊 2023-04-21 16:42:24
我在 Laravel 7 中使用 DataTable 1.10.21。我正在嘗試填充所有用戶數據,除了我的用戶表有一個名為 group_id 的附加列,它定義了用戶組(即管理員、經理、用戶等)現在我的用戶模型有這種關系:public function group() {        return $this->belongsTo(Group::class);    } 當我打電話App\User::select(*)->with('group')->get();我會得到這樣的好東西:App\User {#105150         id: 1,         group_id: 1,         name: "Admin",         email: "[email protected]",         email_verified_at: "2020-01-01 01:01:01",         ...         deleted_at: null,         group: App\Group {#105096           id: 1,           name: "admin",         },       }       ...在我的 UserController 中,我有這個功能:public function datatable() {        $data = User::select("*")->with('group');        $dt = Datatables::of($data)->make(true);        \Log::debug($dt); //this works!!        return $dt;    }我可以使用 tinker 毫無問題地獲取 $data 和 $dt。我的視圖包含以下 javascript:$(function() {               $('#table').DataTable({               processing: true,               serverSide: true,               ajax: '{{ url('user/datatable') }}',               columns: [                        { data: 'id', name: 'id' },                        { data: 'name', name: 'name' },                        { data: 'group_id', name: 'group_id' }, /* this won't work */                        { data: 'group.name', name: 'group.name' }, /* this won't work either */                        { data: 'created_at', name: 'created_at' },                        { data: 'email', name: 'email' }                     ]            });         });<table class="table table-bordered" id="table">               <thead>                  <tr>                     <th>ID</th>                     <th>Name</th>                     <th>Group ID</th>                     <th>Group Name</th>                     <th>Creation Date</th>                     <th>Email</th>                  </tr>               </thead>            </table>group_id 或 group.name col 都不起作用。(net::ERR_EMPTY_RESPONSE 錯誤甚至 $dt 有響應)但是如果我刪除兩列然后它工作正常。
查看完整描述

1 回答

?
慕容森

TA貢獻1853條經驗 獲得超18個贊

Yajra\Datatables 是我個人更喜歡使用原始 sql 的領域之一。


根據您的上述要求,我會這樣看


$data = DB::select("

Select

  a.id as 'users.id',

  a.name as 'users.name',

  b.id as 'group.id',

  b.name as 'group.name',

  a.created_at as 'users.created_at',

  a.email as 'users.email'

FROM

  users as a

LEFT JOIN 

  groups as b

ON

  a.group_id = b.id");


$data = Datatables::of($data)->make(true);

return $data;

然后在數據表初始化代碼的列部分中,只需使用“users.id”、“users.name”等(與名稱字段相同)更新數據。


Yajra 很棒,但我遇到了一些問題并雄辯地表達了自己。因此,為什么我只是回到原始 sql,從那以后就沒有問題了。


編輯 - 使用新數據:然后我建議您發布已加載到相關服務器的 .env 文件。您是在本地執行所有這些操作,還是有一個單獨的服務器出現問題?


查看完整回答
反對 回復 2023-04-21
  • 1 回答
  • 0 關注
  • 131 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號