Я использую Laravel для создания приложения CRUD, но я немного застрял. То, что я хочу сделать, - отобразить соответствующую категорию из категории «категории» для каждого продукта из таблицы «продукты». Я попытался сжать две таблицы в одном представлении и создать @foreach в @foreach, но только перечисленные все категории вместо назначения соответствующей категории на основе category_id из таблицы продуктов.Laravel 5 Передайте данные из двух таблиц на вид
Контроллер
$products = products::all();
$categories = categories::all();
return View::make('products.index')->with('products', $products)->with('categories', $categories);
Просмотр
@foreach($products as $key => $value)
<tr>
<td>{!! $value->id !!}</td>
<td>{!! $value->product_name !!}</td>
@foreach($categories as $key2 => $value2)
<td>{!! $value2->category !!}</td>
@endforeach
<td>{!! $value->product_price !!}</td>
<td>{!! $value->updated_at !!}</td>
<td>
@endforeach
продукты таблица
Schema::create('products', function($table)
{
$table->increments('id');
$table->integer('category_id')->unsigned()->nullable();
$table->string('product_name', 255)->unique();
$table->decimal('product_price', 10, 4);
$table->dateTime('updated_at')->default(DB::raw('CURRENT_TIMESTAMP'));
});
Schema::table('products', function($table) {
$table->foreign('category_id')->references('id')->on('categories');
});
категории Таблица
Schema::create('categories', function($table)
{
$table->increments('id');
$table->string('category', 255)->unique();
$table->dateTime('updated_at')->default(DB::raw('CURRENT_TIMESTAMP'));
});
Когда вы делаете '$ products = products :: all();' и '$ categories = categories :: all();', то нет ничего, что автоматически связывает две результирующие коллекции. Вот почему вы получаете весь список категорий из своего внутреннего цикла. –
Есть ли способ в Laravel связать каждый продукт с соответствующей категорией? Я искал ответ, и что, и я нашел решение креатином сводной таблицы. Но я думаю, может быть, есть более простой способ сделать это. – Netra
Да, я думаю, что есть более простой метод. Во-первых, имеет ли продукт потенциально несколько категорий или один? –