Laravel,如何使用给定的 ID 显示数据库中的值?

Laravel, how to display Values in DB with just given IDs?

我正在尝试使用其 ID 从数据库中获取 5 个数据?

HTML

<input type="number" name="cid1">
<input type="number" name="cid2">
<input type="number" name="cid3">
<input type="number" name="cid4">
<input type="number" name="cid5">

路线

Route::post('/selectCampaign','EmailController@selectCampaign')->name('selectCampaign');

控制器 - 我正在尝试仅获取 1 个 ID 但它不起作用

public function selectCampaign(Request $request) 
    {
        $id1 = request('cid1');
        
        $offers = Offer::where('id','=', $id1);
        return view('email_add', compact('offers'));
    }

我想显示来自 Offers Table 的 5 个 Offer,在 HTML 表格中给定 5 个 ID?我如何在 Laravel 中执行此操作?

您永远不会执行您的查询...where() 是一个查询生成器实例,直到您调用 ->first()->get()。如果你想要1条记录,那么使用first(),如果你想要多条记录,那么使用get().

或者,在您的情况下,您可以使用 find():

$offer = Offer::where('id', '=', $request->input('cid1'))->first();
// OR
$offer = Offer::find($request->input('cid1'));

如果你想获得全部 5 个,那么你可以拨打:

$offers = Offer::whereIn('id', [
  $request->input('cid1'),
  $request->input('cid2'),
  $request->input('cid3'),
  $request->input('cid4'),
  $request->input('cid5')
])->get();

或者,如果您的表单没有传递其他输入:

$offers = Offer::whereIn('id', $request->except('_token'))->get();