У меня есть вопрос, чтобы спроситьLaravel 5,3 Ливер против всех
Так что я пытался создать DropDownList, который будет показывать данные из другой таблицы. В моем контроллере я объявляю эти таблицы в моем создании функции
public function create()
{
$tenants = Tenant::pluck('name','id');
$categories = Category::pluck('name','id');
return view('items.create', ['categories' => $categories, 'tenants' => $tenants]);
}
и в моих взглядах:
<div class='form-group'>
<label for="category_id" class="col-md-4 control-label">Item Category</label>
<div class="col-md-6">
<select class="form-control" name="category" id="categories">
@foreach($categories as $category)
{
<option value={{ $category->id }}>{{ $category->name }}</option>
}
@endforeach
</select>
</div>
</div>
<div class='form-group'>
<label for="tenant_id" class="col-md-4 control-label">Tenant</label>
<div class="col-md-6">
<select class="form-control" name="tenant" id="tenants">
@foreach($tenants as $tenant)
{
<option value={{ $tenant->id }}>{{ $tenant->name }}</option>
}
@endforeach
</select>
</div>
</div>
И это дает ошибку: Попытка получить свойство необъектного
но если меняю срывать к все, как я сделал здесь:
public function create()
{
$tenants = Tenant::all();
$categories = Category::all();
return view('items.create', ['categories' => $categories, 'tenants' => $tenants]);
}
его работы. проблема в том, что я хочу получить значение «name» & «id» и с все, он также вернет свойство, которое мне не нужно. как я могу достичь этого с помощью? и если я прочитаю документацию, в нем говорится, что pluck будет извлекать все значения для заданного ключа, но почему мой срыв не работает? Я новичок в php и laravel, поэтому любой гид будет настолько потрясающим.
Ну его работы! спасибо за вашу помощь, но теперь я смущен. если im не ошибается, '=>' используется для назначения значения ключам в массиве. так что, если я правильно понимаю ваш ответ, то что я получаю с 'pluck()' is id со значением имени? поэтому вместо 1 как 'Id' я получу' имя'? но когда я делаю это '' он показывает, что значение 'id' действительно является' id', а не 'name'. так как это работает? Мне действительно нужно понять –
@ArgaAditya да, с 'pluck()' вы получаете массивную коллекцию с '[1 => 'SomeCategoryName']' структура, где '1' является идентификатором категории из таблицы. Вот как работает 'pluck()'. –
Не обращайте внимания на мой предыдущий комментарий, я перечитал документацию, и теперь я понимаю, спасибо за вашу помощь! –