2017-03-07 50 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到控制器。我知道唯一的解決方案是使用連接將它們連接在一起,但我儘管可能會找到更簡單的方法。謝謝你的解釋 –

相關問題