Ошибка, которую вы видите:
Неопределенное имя индекса
Сообщает нам, что это строка проблемы:
echo $org_names[$org_names_counter]['name'];
Глядя на код контроллера, эта переменная устанавливается с помощью:
$org_names[] = Organization::where('id', $datas->organization_id)->get();
Метод Eloquent get()
вернет коллекцию , поэтому $org_names
представляет собой массив коллекции. $org_names[0]
- это коллекция из Organization
с, а не один Organization
.
Вы также можете увидеть это в показанном вами дампе:
Array (
[0] => Illuminate\\Database\\Eloquent\\Collection Object (
$org_names[0]
- это коллекция.
Чтобы получить доступ к ним, вам нужно сделать что-то вроде:
foreach ($org_names[$org_names_counter] as $org) {
echo $org->name;
// ...
}
Но, глядя на код, кажется, что должно быть только быть 1 элемент в коллекции, как вы выбираете по идентификатору. В этом случае вы после единого результата. Чтобы получить один совпадающий результат, используйте:
$org_names[] = Organization::where('id', $datas->organization_id)->first();
Теперь $org_names[]
это просто массив Organization
с, и ваш существующий код представления будет работать.