2017-03-07 3 views
0

저는 laravel을 처음 사용하기 때문에 컨트롤러에 특정 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에있는 동안 루프에서 쿼리를 작성할 수 없습니다, 그래서 때문에 선적

답변

2

관련 고객 데이터를 얻을 수 있도록 어떻게 컨트롤러에 출하 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 개 코스를 시청했습니다

+0

내가이 모든 것을 알고있는 결과와 함께 작동하지만, 그들 중 누구도 URL없이 컨트롤러에 ID를 보내는 이런 상황을 포함합니다. 유일한 해결책은 모두 조인을 사용하여 연결하는 것임을 알았지 만, 더 쉬운 방법을 찾을 수는 있겠지만. 설명해 주셔서 감사합니다 –

관련 문제