【发布时间】:2023-03-04 01:17:02
【问题描述】:
[底部的解决方案]
我想在刀片模板中生成一个链接到我的控制器操作并传递两个参数。但是 Laravel 总是抛出
preg_replace(): 参数不匹配,pattern 是字符串 while 替换是一个数组
routes.php
Route::get('/projects/{project_id}/canals/{canal_id}/damages', array('as' => 'listDamages', 'uses' => 'DamageController@listDamages'));
DamageController.php
public function listDamages($project_id, $canal_id){
$damages = Canal::find($canal_id)->damages;
$canal = Canal::find($canal_id);
$project = Project::find($project_id);
return View::make('damages.list',array('damages' => $damages, 'canal' => $canal, 'project' => $project));
}
view.blade.php
/* Values are:
$project->id = 71;
$canal->id = 5103;
*/
{{ Form::open(array('route' => array('listDamages',array('project_id' => $project->id,'canal_id' => $canal->id)), 'method' => 'get', 'class' =>'action-form')) }}
<button type="submit" href="{{ route('listDamages',array('project_id' => $project->id,'canal_id' => $canal->id)) }}" class="small">Auswählen</button>
{{ Form::close() }}
表单中生成的 URL 应如下所示:
/projects/71/canals/5103/damages
[解决方案]编辑工作代码 view.blade.php
{{ Form::open(array('route' => array('listDamages', $project->id, $canal->id), 'method' => 'get', 'class' =>'action-form')) }}
<button type="submit" href="{{ route('listDamages',array($project->id, $canal->id)) }}" class="small">Auswählen</button>
{{ Form::close() }}
【问题讨论】:
-
Route::get('/projects/{project_id}}/...- 额外的}? -
修复它,但结果保持不变:/
-
@lasagne 您不应该将解决方案插入问题中,而是接受解决您问题的答案,如果未来的读者能够立即发现解决方案而不是必须抓住编辑
-
已经完成。只需等待 2 分钟
-
我并没有因为粗大的标记而唠叨你:),我扩大了上面的评论以更好地解释自己