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

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

Laravel 在 DB where('week', $week)

Laravel 在 DB where('week', $week)

PHP
蝴蝶不菲 2022-11-04 16:44:31
我正在創建一個應用程序,用戶可以在其中發起挑戰,看看誰減重最多。有 1 個挑戰表,有一個 id、user_id(fk)、weight 和 week。為了每周在前端顯示它們,我制作了一個新數組。用戶控制器:    public function index()    {        $users = User::all();        // get all challanges descending        $challanges = Challange::orderBy('week', 'DESC')->get();        // make an array for every [week] that has an array with ['user' => 'weight'] in user_id order        $weightArray = array();        // how long is the list depending on amount of weeks        $startweek = 1;        $endweek = Challange::max('week');        // go through every week        for ($i = $startweek; $i <= $endweek; $i++) {            // get weight foreach user and if no value set 0            foreach ($users as $user) {                // get challange values per week                $challenge = $user->challanges()->where('week', '=', $i)->get();                // if there is a challange                if (count($challenge) > 0) {                    // set a weight value for that user *!!FIX make weigt alue unique!!*                    $weightArray[$i][$user->id] = $challenge[0]->weight;                }                else {                    // set 0 if no weight isset                    $weightArray[$i][$user->id] = 0;                }            }        }        return view('dashboard', compact('users', 'weightArray'));    }當用戶登錄并按下更新時,會有一個表單提供隱藏輸入 Auth::user()->id 和星期。用戶必須自己輸入的重量。這會返回一個請求,但現在我不知道如何匹配周和 user_id,以找到需要更新權重的 id。挑戰控制器:public function update(Request $request)    {        $week = $request->week;        $challange = Challange::find($request->user_id)->where('week', $week);        dd($challange);    }這將返回:錯誤調用成員函數 where() on null我應該預先在數組中添加 id 嗎?還是我 where('user_id', $user_id) 并在返回的數組上執行另一個 where ?我不知道該怎么辦。有人可以幫忙嗎?
查看完整描述

1 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

順序錯誤。你應該 :


$challange = Challange::where('week', $week)

    ->where('user_id', $request->user_id)

    ->first();


// or


$challange = Challange::where([

    'week' => $week, 

    'user_id' => $request->user_id

])->first();


查看完整回答
反對 回復 2022-11-04
  • 1 回答
  • 0 關注
  • 153 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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