Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Добрый день.
Помогите, пожалуйста, настроить вывод из массива двумя параметрами (/avto/{id1}/{id2}) передать в представление информацию об авто? Параметрами необходимо передать данные значений 'idcat' и 'numcat' (эти значения уникальны для каждой карточки авто, условно idcat - номер каталога, а numcat - номер в каталоге).
Информация из web.php
Route::get('/avto/{id1}/{id2}', 'AvtoController@showAvto');
Информация из контроллера AvtoController.php
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
class AvtoController extends Controller
{
private $avto;
public function __construct()
{
$this->avto = [
"bmw" =>
[
"model" => "BMW",
"color" => "red",
"year" => "2010",
"mark" => "M5",
"idcat" => 1,
"numcat" => 2,
"park" => 111,
"cost" => 22000,
"inStock" => true,
"lservice" => "A",
],
"audi" =>
[ "model" => "AUDI",
"color" => "black",
"year" => "2011",
"mark" => "TT",
"idcat" => 1,
"numcat" => 3,
"park" => 111,
"cost" => 32000,
"inStock" => true,
"lservice" => "A",
],
"dodge" =>
[
"model" => "DODGE",
"color" => "blue",
"year" => "2005",
"mark" => "TT",
"idcat" => 2,
"numcat" => 3,
"park" => 333,
"cost" => 23500,
"inStock" => false,
"lservice" => "D",
],
"honda" =>
[
"model" => "HONDA",
"color" => "grey",
"year" => "2013",
"mark" => "CR-V",
"idcat" => 2,
"numcat" => 1,
"park" => 222,
"cost" => 20100,
"inStock" => true,
"lservice" => "E",
],
"volvo" =>
[
"model" => "VOLVO",
"color" => "black",
"year" => "2007",
"mark" => "C70",
"idcat" => 1,
"numcat" => 1,
"park" => 111,
"cost" => 19000,
"inStock" => false,
"lservice" => "B",
],
"ford" =>
[
"model" => "FORD",
"color" => "black",
"year" => "2008",
"mark" => "Focus",
"idcat" => 2,
"numcat" => 2,
"park" => 111,
"cost" => 18800,
"inStock" => false,
"lservice" => "E",
],
"toyota" =>
[
"model" => "TOYOTA",
"color" => "grey",
"year" => "2003",
"mark" => "Prado",
"idcat" => 2,
"numcat" => 4,
"park" => 222,
"cost" => 29400,
"inStock" => true,
"lservice" => "A",
]
];
}
public function showAvto($id1, $id2)
{
// ???
}
}
Вид представления:
@extends('layouts.avto_temp')
@section('name')
Наименование товара: {{ $arrAvto['model'] }}
@stop
@section('div')
<div class="info">
<span class="cost"> Стоимость товара: {{ $arrAvto['cost'] }}</span> <br>
@if ($arrAvto['inStock'] == true)
<span class="info">Наличие товара на складе: {{ 'есть в наличии' }}</span> <br> <br>
@else <span class="info">Наличие товара на складе: {{ 'нет в наличии' }}</span> <br> <br>
@endif
</div>
<div class="spec">
Марка автомобиля: {{ $arrAvto['mark'] }} <br>
Цвет автомобиля: {{ $arrAvto['color'] }} <br>
Уровень сервиса автомобиля: {{ $arrAvto['lservice'] }} <br>
</div>
@stop
Не в сети
После сбора данных в контролере ты же отправляешь какие то данные во вьюшку? Как то она у тебя строится ведь.
Если нет, в первые это делаешь, тогда так -
public function showAvto($id1, $id2){
// Магия тут
...
.....
return view('папка_в_каталоге_views.файл_в_папке_которая_в_каталоге_views', ['имя_переменной_которое_получаешь_в_файл_в_папке_которая_в_каталоге_views' => $переменная_которая_получена_в_этом_контроллере] );
}
В догонку
http://laravel.su/docs/5.2/views
Не в сети