Как правильно получить индекс поля из моего массива в Laravel blade? - PullRequest
0 голосов
/ 20 апреля 2020

Это функция "show" в моем контроллере:

public function show($nform)
{
    $plan = PlanFormation::findOrFail($nform);

    $plan_props = PlanFormation::select(
            'clients.raisoci',
            'clients.nrc_entrp',
            'intervenants.nom',
            'intervenants.prenom')

                ->join('clients', 'clients.nrc_entrp', '=', 'plan_formations.nrc_e')
                ->join('intervenants', 'intervenants.id_interv', '=', 'plan_formations.id_inv')
                ->where('plan_formations.n_form', '=', $nform)
                ->get();

return view('planformation.detail',  ['plan_props' => $plan_props, 'plan' => $plan]);
}

Вот мой Blade:

<div class="card-header">
    <a class="btn btn-dark btn-sm bu-lg-ic" href="/planformation"><i class="fa fa-arrow-left"></i></a>
    <h3 class="card-title card-h3">Plan N° {{ $plan->n_form }} > {{ $plan_props['raisoci'] }}</h3>
</div>

Я получил "неопределенный индекс" raisoci ", когда я использую $plan_props['raisoci'] в блейде

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

Это сработало, когда я использовал ->first() и я оставил {{ $plan_props['raisoci'] }} как Третий ответ - правильный ответ Спасибо Мансор за вашу помощь

0 голосов
/ 20 апреля 2020

В вашем примере $plan_props - это не массив с элементом ['raisoci'], а набор элементов. Таким образом, вы можете получить первый элемент этой коллекции и вызвать его 'raisoci' свойство:

{{ $plan_props[0]['raisoci'] }}

или

{{ $plan_props[0]->raisoci }}

Вы также можете вызвать метод first() вместо get() в вашем запросе. В этом случае вы получите именно то, что ожидали в своем примере:

$plan_props = PlanFormation::select(...)
                 ...
                 ->where('plan_formations.n_form', '=', $nform)
                 ->first();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...