Php 具有多参数的L5表单模型绑定

Php 具有多参数的L5表单模型绑定,php,forms,laravel,laravel-5.2,Php,Forms,Laravel,Laravel 5.2,如何使用多参数创建Form::model? 我有这样的例子。 www.domain.com/product/2/product-attributes/3/edit 在正常情况下,我可以这样做: <form method="POST" action="{{ route('product.{product}.product-attributes.update', [$product->id, $product-attribute->id ]) }}"> </form&g

如何使用多参数创建Form::model? 我有这样的例子。 www.domain.com/product/2/product-attributes/3/edit 在正常情况下,我可以这样做:

<form method="POST" action="{{ route('product.{product}.product-attributes.update', [$product->id, $product-attribute->id ]) }}"> </form>
Form::model($productattributes, array('method' => 'POST', array('route' => array('product.{product}.product-attributes.update', [$product->id, $product-attribute->id ])))
route('product.product-attributes.update', 
    ['product_id' => product->id, 'product_atrribute_id' => $product-attribute->id ]
)
我得到一个错误数组到字符串转换

===更新====================

我的路线:

Route::resource('backend/product', 'Backend\ProductController');
Route::resource('backend/product/{product}/product-attributes', 'Backend\ProductAttributesController',['except' => ['index']]);
====更新2=========================

已经解决了,但我会证明我的路线没有错 php artisan路由:列表

首先,我从来没有见过像您这样有大括号的路线名称:

product.{product}.产品属性.更新

那么不确定这有什么用呢?也许你可以和我们分享你的路线

对我来说,我会这样做

假设你有一条路线:

Route::get('product/{product_id}/product-attributes/{product_atrribute_id}/edit',[
    'as'   => 'product.product-attributes.update',
    'uses' => 'ProductController@updateProduct',

]);
然后您可以像这样调用route方法:

<form method="POST" action="{{ route('product.{product}.product-attributes.update', [$product->id, $product-attribute->id ]) }}"> </form>
Form::model($productattributes, array('method' => 'POST', array('route' => array('product.{product}.product-attributes.update', [$product->id, $product-attribute->id ])))
route('product.product-attributes.update', 
    ['product_id' => product->id, 'product_atrribute_id' => $product-attribute->id ]
)
这里的区别(您调用方法的方式与我的不同)在于我指定了与url中的键匹配的数组键

至于打开表单,我想你应该这样做,链接如下:

(请注意,我做了一些假设,因为您没有分享太多代码)


请注意代码中的错误:
product->id
应该是:
$product->id
看起来您应该使用“嵌套资源”(根据需要调整命名)

路线(表演):


我只是在努力。。如果正常路由,则使用数组传递多个参数。我想Form::model不需要使用数组,只需与

正常路线::

<form method="POST" action="{{ route('product.{product}.product-attributes.update', [$product->id, $product-attribute->id ]) }}"> </form>

只是输入错误:x,我已经更新了我的路线。。我正在使用Route::resource。除了使用Laravelcollective HTML/form:form::model时,我在普通表单上没有问题。如果您使用的是路由资源,请运行
artisan route:list
,以获得正确的路由名称,我很确定它不是
产品。{product}.product attributes.update
已解决,但如果你要求我的路线:列表证明我的路线,你可以看到我的更新@haakymthanke,但你没有意识到你可以有一个带有{}的路线名称,或者至少它是这样生成的。我对路线没有问题。。。我只是对表单模型绑定的表单::模型有问题
Form::model($productattributes, array('method' => 'POST', array('route' => array('product.{product}.product-attributes.update', $product->id, $product-attribute->id)))