Laravel проблема при загрузке 3 переменных с запросом в представлении - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь загрузить 3 запроса в представление, при загрузке 2 запросов у меня нет проблем, но при загрузке третьей переменной он возвращает ошибку:

 Facade\Ignition\Exceptions\ViewException
    Undefined variable: rejected

    Possible typo $rejected
    Did you mean $acept?

Это код, который У меня в методе проверьте 3 запроса с помощью var_dump, а 3 показывают данные, которые должны

public function Myproposal(){
            $id=auth()->user()->usu_id;
    
              $acept['acept']= DB::table('detail_proposal')
            ->join('proposal','proposal.pro_id','=','detail_proposal.pro_id')
            ->join('home','home.home_id','=','detail_proposal.home_id')
            ->select('home.home_nom','home.home_img','proposal.pro_id','proposal.int_date')
            ->where('users.usu_id','=',$id)
            ->where('proposal.estate_id','=',1)
            ->get();
    
    
    
              $active['active']= DB::table('detail_proposal')
            ->join('proposal','proposal.pro_id','=','detail_proposal.pro_id')
            ->join('home','home.home_id','=','detail_proposal.home_id')
            ->select('home.home_nom','home.home_img','proposal.pro_id','proposal.int_date')
            ->where('users.usu_id','=',$id)
            ->where('proposal.estate_id','=',3)
            ->get();
    
             $rejected['rejected']= DB::table('detail_proposal')
            ->join('proposal','proposal.pro_id','=','detail_proposal.pro_id')
            ->join('home','home.home_id','=','detail_proposal.home_id')
            ->select('home.home_nom','home.home_img','proposal.pro_id','proposal.pro_date')
            ->where('users.usu_id','=',$id)
            ->where('proposal.estate_id','=',2)
            ->get();
    
        return view('proposal.Myproposal',$acept,$active,$rejected);
        }

  @foreach($acept as $acepts)
<tr>
            <td>{{$loop->iteration}}</td>
            <td>{{$acepts->home_nom}} </td>
            <td>{{$acepts->pro_date}} </td>
            
</tr>
@endforeach



  @foreach($active as $actives)
<tr>
            <td>{{$loop->iteration}}</td>
            <td>{{$actives->home_nom}} </td>
            <td>{{$actives->pro_date}} </td>
            
</tr>
@endforeach



  @foreach($rejected as $rejecteds)
<tr>
            <td>{{$loop->iteration}}</td>
            <td>{{$rejecteds->home_nom}} </td>
            <td>{{$rejecteds->pro_date}} </td>
            
</tr>
@endforeach

Это код, который у меня есть в представлении, переменные $ accept и $ active загружают данные , но установка переменной $ rejected вызывает ошибку, помеченную этой строкой:

 @foreach($rejected as $rejecteds)

Я не понимаю, почему ошибка возникает с третьей переменной, поскольку она содержит данные, как я могу ее решить?

1 Ответ

0 голосов
/ 13 июля 2020

Вы не передаете никакие данные в представление с ключом rejected. Вспомогательная функция view принимает только 3 аргумента, вы вызываете ее с 4.

function view($view = null, $data = [], $mergeData = [])

Вы можете просто создать один массив и передать его:

$data['acept'] = ...;
$data['active'] = ...;
$data['rejected'] = ...;

return view(..., $data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...