2017-12-23 23 views
0

을 부여하고 난 다음 쿼리를 번역 한 \ 데이터베이스 \ 문법을 조명 :: 유형의 배열이어야합니다) (매개 변수화 통과인수 한 객체 내가 <code>Laravel 5.5</code>을 사용하고

135 Grammar.php 라인에서 :

$overviewArray = DB::table('instruments') 
     ->leftJoin('financials', 'instruments.id', '=', 'financials.instruments_id') 
     ->whereIn('financials.id', DB::raw('SELECT MAX(financials.id) 
     FROM financials 
     GROUP BY financials.instruments_id) 
     ORDER BY instruments.id ASC'))->get()->toArray(); 

그러나, 나는 다음과 같은 오류가 발생합니다 0

Type error: Argument 1 passed to Illuminate\Database\Grammar::parameterize() must be of the type array, object given, called 
    in C:\Users\admin\Desktop\Coding Projects\laravel_project\vendor\laravel\framework\src\Illuminate\Database\Query\Gramm 
    ars\Grammar.php on line 250 

제 웅변적인 질문이 잘못되었습니다. 어떤 제안이 잘못 되었습니까?

답장을 보내 주셔서 감사합니다.

답변

1
$overviewArray = DB::table('instruments') 
    ->leftJoin('financials', 'instruments.id', '=', inancials.instruments_id') 
    ->whereIn('financials.id', function($query){ 
     $query->select(DB::raw('MAX(financials.id)'))-> 
    from('financials')-> 
    groupBy('financials.instruments_id');}) 
    ->orderBy('instruments.id') 
    ->get() 
    ->toArray(); 

나는 괜찮을 것으로 생각됩니다.

+0

답변에 대한 Thx! 그러나 문제가 해결되지 않습니다. 나는 여전히 같은 오류가 발생합니다. – mrquad

+1

@mrquad 다시 시도해주세요, 조금 변경되었습니다. – yrv16