Я хочу сделать кнопку на моем основном индексе для перенаправления на другой вид.ОшибкаException свойство non-object laravel
index.blade.php:
@extends('layouts.default')
@section('content')
<div class="row">
<div class="col-lg-12 margin-tb">
<div class="pull-left">
<h2>Meniu management locatari</h2>
</div>
<div class="pull-right">
<a class="btn btn-success" href="{{ route('itemCRUD.create') }}"> Creaza intrare noua</a>
</div>
<div class="pull-right">
<a class="btn btn-success" href="{{URL::to('itemCRUD/finalu') }}"> Insert excel</a>
</div>
</div>
</div>
@if ($message = Session::get('success'))
<div class="alert alert-success">
<p>{{ $message }}</p>
</div>
@endif
<table class="table table-bordered">
<tr>
<th>no</th>
<th>apartament</th>
<th>nume</th>
<th>persoane</th>
<th>mp</th>
<th>comentariu</th>
<th width="280px">Actiune</th>
</tr>
@foreach ($items as $key => $item)
<tr>
<td>{{ ++$i }}</td>
<td>{{ $item->apartament }}</td>
<td>{{ $item->nume }}</td>
<td>{{ $item->persoane }}</td>
<td>{{ $item->mp }}</td>
<td>{{ $item->comentariu }}</td>
<td>
<a class="btn btn-info" href="{{ route('itemCRUD.show',$item->id) }}">Arata</a>
<a class="btn btn-primary" href="{{ route('itemCRUD.edit',$item->id) }}">Edit</a>
{!! Form::open(['method' => 'DELETE','route' => ['itemCRUD.destroy', $item->id],'style'=>'display:inline']) !!}
{!! Form::submit('Sterge', ['class' => 'btn btn-danger']) !!}
{!! Form::close() !!}
</td>
</tr>
@endforeach
</table>
{!! $items->render() !!}
@endsection
Но когда я нажимаю кнопкуInsert первенствовать перенаправить меня с этой точкой зрения
finalu.blade.php:
@extends('layouts.default')
@section('content')
<h1>Helooo</h1>
@endsection
Я получу эту ошибку Исключение:
ErrorException в bcebe4d151d0a3c5c8008307bf179799c7fba86b.php строке 20: Попытка получить свойство не-объекта (Вид: /var/www/html/admintmhelp/resources/views/ItemCRUD/show.blade.php)
Кроме того, это мой show.blade.php:
@extends('layouts.default')
@section('content')
<div class="row">
<div class="col-lg-12 margin-tb">
<div class="pull-left">
<h2> Arata intrarea</h2>
</div>
<div class="pull-right">
<a class="btn btn-primary" href="{{ route('itemCRUD.index') }}"> Inapoi</a>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>apartament:</strong>
{{ $item->apartament }}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>nume:</strong>
{{ $item->nume }}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>persoane:</strong>
{{ $item->persoane }}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>mp:</strong>
{{ $item->mp }}
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<strong>comentariu:</strong>
{{ $item->comentariu }}
</div>
</div>
</div>
@endsection
И это мой контроллер:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Item;
class ItemCRUDController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$items = Item::orderBy('id','DESC')->paginate(5);
return view('ItemCRUD.index',compact('items'))
->with('i', ($request->input('page', 1) - 1) * 5);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('ItemCRUD.create');
}
public function finalu()
{
return view('ItemCRUD.finalu');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$this->validate($request, [
'apartament' => 'required',
'nume' => 'required',
'persoane' => 'required',
'mp' => 'required',
]);
Item::create($request->all());
return redirect()->route('itemCRUD.index')
->with('success','Intrare inserata cu succes');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$item = Item::find($id);
return view('ItemCRUD.show',compact('item'));
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$item = Item::find($id);
return view('ItemCRUD.edit',compact('item'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
$this->validate($request, [
'apartament' => 'required',
'nume' => 'required',
]);
Item::find($id)->update($request->all());
return redirect()->route('itemCRUD.index')
->with('success','Intrare actualizata cu succes');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
Item::find($id)->delete();
return redirect()->route('itemCRUD.index')
->with('success','Item deleted successfully');
}
}
Маршрут устанавливается как:
Route::resource('itemCRUD','ItemCRUDController');
Что может быть причиной этого ErrorException, и как я могу избежать этого?
кажется, что вы включили свой 'show.blade.php' в' finaly.blade.php' и требует переменную '$ item'. Фактически, я не вижу, что это относится к вашим кодам, но может быть, вам что-то не хватает – Rashad
Где вы видите, что «включить ваш show.blade.php в finaly.blade.php»? –
я не вижу. Но ошибка возникает из 'show.blade', когда вы собираетесь открывать' finaly.blade'. – Rashad