如何将id从while循环传递到控制器[laravel]
问题描述:
我是laravel的新手,所以我正在寻找如何将特定的id发送到控制器以从另一个表中获取数据?如何将id从while循环传递到控制器[laravel]
例如
while($shipment = sqlsrv_fetch_array($get_customer_rule,SQLSRV_FETCH_ASSOC)) {
//display some data ......
// inside the loop i will have another query to get data from another table has //relation with shipment table
$id = $shipment['id'];
$customer = "SELECT * FROM [ccctadm].[customer] WHERE id = '$id' ";
$get_customer_info = sqlsrv_query($conn, $customer);
$get_customer_id = sqlsrv_fetch_array($get_customer_info,SQLSRV_FETCH_ASSOC);
$customer_id = $get_customer_id['customerid'];
}
我不能在laravel while循环编写查询,所以我怎么能传递货物ID给控制器,所以我可以得到相关的装运
答
由于客户数据你是Laravel的新手,也许你应该首先学习Laravel的方法。观看此视频,了解如何使用Eloquent以及该系列中的所有其他视频。 https://laracasts.com/series/laravel-from-scratch-2017/episodes/7
一旦你身边,你的头上,你就可以重写查询为
$shipments = Shipement::all();
foreach($shipments as $shipment) {
$customer = $shipment->customer;
$customer_id = $customer->id;
}
更妙的是,当你得到位进一步laravel并能够与预先加载的工作,你会只是做
$shipments = Shipment::with('customer')->get();
而且在你看来
@foreach($shipments as $shipment)
Customer ID is : {{ $shipment->customer->id }}
@endforeach
你有决定你和Laravel合作。利用它。它将使一切变得更加简单并加速您的开发过程。
如果你要坚持你的原始的SQL查询,您可以使用查询生成器
$result = DB::select("SELECT * FROM [ccctadm].[customer] WHERE id = ?", [$id]);
,并用结果
我知道所有的这些工作,我已经看3个疗程,但他们中没有包括这种情况下发送id没有URL到控制器。我知道唯一的解决方案是使用连接将它们连接在一起,但我尽管可能会找到更简单的方法。谢谢你的解释 –