Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте.
Вопросы нубские, только-только начал изучать ларавел.
Есть модель CarMake - производители машин. В index.blade:
@extends('master')
@section('title', 'Производители машин')
@section('content')
<div class="container col-md-12"> {{--col-md-offset-2--}}
<div class="panel panel-default">
<div class="panel-heading">
<h2> Производители машин </h2>
</div>
@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif
@if ($carmakes->isEmpty())
<p> Производителей машин пока нет.</p>
<p> Печаль.</p>
@else
<table class="table table-hover">
<thead>
<tr>
<th>ID</th>
<th>Производитель</th>
</tr>
</thead>
<tbody>
@foreach($carmakes as $carmake)
<tr onclick="window.document.location='/carmake/{!! $carmake->id !!}'">
<td>{!! $carmake->id !!}</td>
<td>{!! $carmake->Make !!}</td>
</tr>
@endforeach
</tbody>
</table>
@endif
</div>
<a href="/carmake/create" class="btn btn-info">Новый</a>
</div>
@endsection
Есть модель CarModel - марки производителей.
Что хочу - при клике на строку в индексной таблице открывается show.blade этого прозводителя, дальше таблица с моделями этого прозводителя и ниже форма добавить новую модель.
До таблицы пока дело не дошло, ругается, что $carmodel не найдена.
Вот show.blade
@extends('master')
@section('title', 'Модели')
@section('content')
<div class="container col-md-8 col-md-offset-2">
<div class="col-md-2">
<span>{!! $carmake->id !!}</span> <a href="{!! action('CarMakesController@edit', $carmake->id) !!}" class="btn btn-info">Редактировать</a>
</div>
{!! Form::model($carmodel, ['action' => 'CarModelsController@create', 'method' => 'post', 'class' => 'form-horizontal']) !!}
@foreach ($errors->all() as $error)
<p class="alert alert-danger">{{ $error }}</p>
@endforeach
@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif
<input type="hidden" name="car_make_id" value="{!! $carmake->id !!}">
<fieldset>
<legend>Новая модель</legend>
<div class="form-group">
{!! Form::label('Model', 'Модель', ['class' => 'col-md-2 control-label']) !!}
<div class="col-md-10">
{!! Form::text('Model', '2110', ['class' => 'form-control']) !!}
</div>
</div>
<div class="form-group">
<div class="col-lg-10 col-lg-offset-2">
<button class="btn btn-default">Отмена</button>
<button class="btn btn-primary" type="submit">Сохранить</button>
</div>
</div>
</fieldset>
{!! Form::close() !!}
</div>
@endsection
Вот контроллер CarMake:
<?php
namespace App\Http\Controllers;
use App\Http\Requests\CarMakeFormRequest;
use Illuminate\Http\Request;
use App\CarMake;
use App\CarModel;
class CarMakesController extends Controller
{
public function index()
{
$carmakes = CarMake::all(); //
return view('carmakes.index', compact('carmakes'));
}
public function create()
{
$carmake = new CarMake;
return view('carmakes.create', ['carmake' => $carmake ]);
}
public function store(CarMakeFormRequest $request)
{
$carmake = new CarMake(array(
'Make' => $request->get('Make')
));
$carmake->save();
return redirect('/carmakes')->with('status', 'Производитель '. $request->get('Make').' успешно добавлен в БД.');
}
public function show($id)
{
$carmake = CarMake::whereid($id)->firstOrFail();
$carmodel = new CarModel;
return view('carmakes.show', compact('carmake'));
}
public function edit($id)
{
$carmake = CarMake::whereid($id)->firstOrFail();
return view('carmakes.edit', compact('carmake'));
}
public function update($id, CarMakeFormRequest $request)
{
$carmake = CarMake::whereid($id)->firstOrFail();
$carmake->Make = $request->get('Make');
$carmake->save();
return redirect(action('CarMakesController@edit', $carmake->id))->with('status', 'Данные сохранены!');
}
public function destroy($id)
{
$carmake = CarMake::whereid($id)->firstOrFail();
$carmake->delete();
return redirect('/carmakes')->with('status', 'Производитель удалён!');
}
}
В общем, как передать $carmodel?
Страницы 1