【问题标题】:Named Parameters in Laravel viewLaravel 视图中的命名参数
【发布时间】: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 分钟
  • 我并没有因为粗大的标记而唠叨你:),我扩大了上面的评论以更好地解释自己

标签: php laravel laravel-4


【解决方案1】:

试试:

echo Form::open(array('route' => array('listDamages', $project->id, $canal->id)));

但尚未测试上述内容。无论如何,您总是可以构建 url,尽管您失去了命名路由的好处:

echo Form::open(array('url' => 'projects/'.$project->id.'/canals/'.$canal->id.'/damages'));

【讨论】:

    猜你喜欢
    • 2015-06-21
    • 1970-01-01
    • 2015-03-15
    • 2020-08-08
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多