我正在尝试编辑表格中的记录。我已经创建了一个路线和表格,但我无法解决这个错误。我已经找到了问题,但我无法找到解决方法。我是否认为edit.blade.php
文件需要$ad->id
传递?
$ad->id
是列表视图中特定添加的ID。列表视图包含从表中显示的所有票证,以下链接用于编辑该项目。
使用以下代码访问编辑路径:
<a href="{{ route('ticket.edit', $ad->id) }}">Edit</a>
我有一条路线可以打开编辑视图表单:
Route::get('/ticket_ads/edit/{ad}', 'TicketAdsController@editTicketAdForm')->name('ticket.edit');
上述路线指向控制器:
public function editTicketAdForm($id)
{
//$ad = DB::table('ticket_ads')->where('id', $id)->value('id');
return view('Ads.edit')->with('id', $id);
}
这是上述函数调用的视图:
@extends('Shared.Layouts.MasterWithoutMenus')
@section('title')
Edit a ticket ad
@stop
@section('content')
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading"><h2>Edit your ticket ad</h2></div> <br/>
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
{{ Form::open(array('route' => 'ticket.edit', $id = 'id')) }}
<div class="form-group">
{{ Form::label('title', 'Title') }}
{{ Form::text('title', Input::old('title'), array('class' => 'form-control')) }}
</div>
<div class="form-group">
{{ Form::label('comment', 'Comment') }}
{{ Form::text('comment', Input::old('comment'), array('class' => 'form-control')) }}
</div>
{{ Form::submit('Submit', array('class' => 'btn btn-primary')) }}
{{ Form::close() }}
</div>
</div>
</div>
</div>
@endsection
这是抛出错误的行
{{ Form::open(array('route' => 'ticket.edit', $id = 'id')) }}
例如,ID会在URL中显示为ticket_ads/edit/7
。
我如何解决这个问题?
答案 0 :(得分:1)
更改此行:
{{ Form::open(array('route' => 'ticket.edit', $id = 'id')) }}
到此:
{{Form::open(array('route' => array('ticket.edit', $id)))}}
答案 1 :(得分:0)
这个
{{ Form::open(array('route' => 'ticket.edit', $id = 'id')) }}
错了。正确的语法是:
{{ Form::open(['route' => ['ticket.edit', $id]]) }}
你也应该放弃使用array()
支持[]
语法,因为Laravel无论如何都需要PHP 5.4+(除非你使用古老版本的Laravel,比如v4?)
答案 2 :(得分:0)
调用路由的正确语法是。
{{ route('/cardetails', ['121','cars'] ) }}
在 URL 中,它会像下面这样。
127.0.0.1:8000/cardetails/121/cars