2016-07-14 2 views
0

두 테이블의 내부 조인을 사용하는 간단한 select 쿼리가 있습니다.특정 결과 만 반환하는 Laravel 내부 조인

Trying to get property of non-object

그러나 내가 JSON을 모두 반환 할 때 완벽하게 작동합니다 : 문제는 내가 제목을 반환 할 경우에만 나는이 오류를 가지고 있습니다. 제목을 사용하여 쿼리하고 싶습니다. 이 문제를 어떻게 해결할 수 있습니까?

$products = DB::table('products'); 
$messages = $products 
    ->join('bookings', 'products.id', '=', 'bookings.ProductID') 
    ->where('EmailAddress', '=', ''. $userEmail . '') 
    ->orderBy("bookings.DateCreated", "desc") 
    ->get(); 
return $messages->Title; 

당신이 결과의 첫 번째 행을해야 할 것 같다 코드에 따르면, 그래서 당신의 코드를 변경 -을 : 당신은 루프에 필요하거나 반복 할 수 있도록

$products = DB::table('products'); 
    $messages = $products 
     ->join('bookings', 'products.id', '=', 'bookings.ProductID') 
     ->where('EmailAddress', '=', ''. $userEmail . '') 
     ->orderBy("bookings.DateCreated", "desc") 
     ->get(); 
    return $messages->Title; 
+0

$ 메시지는 배열이 아닌 객체이다. 배열을 반복합니다. – itachi

+0

감사합니다. 그것을 시도하십시오 아프다. 그러나 나는 제목을 사용하여 쿼리하고 싶습니까? – Joseph

답변

0

귀하의 코드 또는 쿼리는 여러 결과를 반환 로 (교체 -> (수)와 -> 첫 번째()) : -

당신이 설득력 열망로드로 시도 할 수없는 이유
$products = DB::table('products'); 
$messages = $products 
    ->join('bookings', 'products.id', '=', 'bookings.ProductID') 
    ->where('EmailAddress', '=', ''. $userEmail . '') 
    ->orderBy("bookings.DateCreated", "desc") 
    ->first(); 
return $messages->Title; 
0

. 그래서 당신은 Object return을 얻을 것입니다.

$messages = Products::with(['bookings' => function ($query) use ($userEmail) { 
    $query->where('EmailAddress', '=', ''. $userEmail . ''); 
    $query->orderBy("bookings.DateCreated", "desc"); 
}])->get(); 

Try similar like this. Hope you will get the collection. 
0

감사합니다. 하지만 내 해결책을 찾았 어. 나는 내면의 결합에 별명을 사용했다.

$products = DB::table('products'); 
    $messages = $products 
     ->join('bookings AS b1', 'products.id', '=', 'b1.ProductID') 
     ->join('booking_notifications as b2', 'b1.Code', '=', 'b2.Code') 
     ->where('Products.EmailAddress', '=', ''. $userEmail . '') 
     ->orderBy("b1.DateCreated", "desc")  
     ->get(); 

    return view('messages.index')->with('messages', $messages);; 
+0

이것은 작동하지 않아야하며 동일한 오류가 발생합니다. – itachi

+0

그게 나를 위해 작동합니다. – Joseph

관련 문제