2016-07-19 2 views
3

laravel의 새로운 기능입니다. 내 코드에서이 오류가 발생했습니다.Php Laravel 비 대상의 자산을 얻으려고 시도합니다.

capture


DataController.php


// Get Affiliate Data 
$data = Commission::where([ 
    'uploads_id' => $period , 
    'affiliate_code' => $id 
])->first(); 

//Get Last Activity 
$lastactivitytxt = null; 
$lastactivity = Activity::where('text','LIKE','%Affiliate ['.$data->affiliate_name.']%'); //This is line 168 

사람이 내 코드에 어떤 문제가 있는지 말해 줄래?

+0

이 곳의 데이터를 $ 않는, 더 많은 코드를 표시() 얻을? – rad11

+0

이것은 아마도'$ data'가 비어 있기 때문일 것입니다. 비어 있는지 확인하십시오. – chanafdo

+0

ok, 이는 var_dump ($ data-> affiliate_name)를 보여줍니다. ? – rad11

답변

0

. 대신에 먼저, 카운트()을 작성하여 결과를 확인하십시오. 점수가 0보다 높으면, 객체가 아니라는 것을 의미합니다. = 0이면 아무것도 발견되지 않았고 존재하지 않는 것을 얻으려고합니다. 당신은 당신이합니다 (처음 사용할 때) $ 데이터가 빈 문자열이 아닌 경우 확인하는 방법으로을 중지하거나) (을 수를 확인하려고하고 있는지 < = 0은 false 조심, 만 나중에 객체에 결합 해보십시오. 인사말을 쓸 때 추가 질문이 있으니! 첫 번째() 또는> - -

2

사용 get() 또는 first() 또는 같은 쿼리에서 lists(), @chanafdo처럼

$lastactivity = Activity::where('text','LIKE','%Affiliate ['.$data->affiliate_name.']%')->get(); 
1

는 말한다 : $ 데이터가 비어있는 일명 NULL입니다. 먼저 $ data가 NULL이 아닌지 확인해야합니다.

는 @ 비 노드-VT는 언급도 같은 : 당신이 get(), first() 또는 list()가 데이터베이스에서 Activity의를 검색하는 데 사용하는 것을 잊었다.

예 : 변수 $ 데이터에 존재하지 않는 개체에 도착하려고하는 것 같습니다

// Get Affiliate Data 
$data = Commission::where([ 
    'uploads_id' => $period , 
    'affiliate_code' => $id 
])->first(); 


// Check database resource exists 
if (!$data) 
{ 
    // Throw error, 404 or whatever 
    return false; 
} 

//Get Last Activity 
$lastactivitytxt = null; 
$lastactivity = Activity::where('text','LIKE','%Affiliate ['.$data->affiliate_name.']%')->get(); // You forgot get() 
0

단지를 사용>

$lastactivity = Activity::where('text','LIKE','%Affiliate ['.$data->affiliate_name.']%')->get(); 
관련 문제