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

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

Laravel中如何根據id條件獲取數據

Laravel中如何根據id條件獲取數據

PHP
天涯盡頭無女友 2023-07-30 14:03:14
我正在嘗試根據 case_id 獲取數據,該數據來自 Cases 表,并且我在套接字表中查找 (case_id),但我在響應中得到空數組:這是我的控制器:public function index($case_id)    {        $id = kase::find($case_id);        $data = DB::table('sockets')->where('case_id',$id)->get();        return $data;    }我的路線: Route::get('/case-log/{id}', 'CaseLogController@index');我哪里錯了?
查看完整描述

2 回答

?
慕后森

TA貢獻1802條經驗 獲得超5個贊

kase::find($case_id) 為 null,因為 laravel 假定主鍵和索引名為“id”。要在您的型號上覆蓋此設置kase,請按如下方式進行設置。您還可以按如下方式建立與模型的關系socket:


class kase extends Model

{

    ...

    protected $primaryKey = 'case_id';

    ...

    

    

    public function sockets()

    {

        return $this->hasMany(socket::class, 'case_id');

    }

}

此外,您還需要讓控制器方法參數與路線參數相匹配。所以:


public function index($id)

{

    $case = kase::with('sockets')->find($id);

   

    return $case->sockets;

}


查看完整回答
反對 回復 2023-07-30
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

路由中的 slug 名稱應與方法中的參數名稱匹配,index因此您必須更改其中之一


Route::get('/case-log/{case_id}', 'CaseLogController@index');


public function index($case_id)

{

    $id = kase::find($case_id);


    $data = DB::table('sockets')->where('case_id',$id)->get();

    return $data;

}


查看完整回答
反對 回復 2023-07-30
  • 2 回答
  • 0 關注
  • 190 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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