2017-03-07 53 views
0

我是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给控制器,所以我可以得到相关的装运

回答

2

由于客户数据你是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]); 

,并用结果

+0

我知道所有的这些工作,我已经看3个疗程,但他们中没有包括这种情况下发送id没有URL到控制器。我知道唯一的解决方案是使用连接将它们连接在一起,但我尽管可能会找到更简单的方法。谢谢你的解释 –

相关问题