Forms Laravel eloquent有很多个,并且属于sync(),无需写入数据库
简言之,Laravel的eloquent是否有类似于它的Forms Laravel eloquent有很多个,并且属于sync(),无需写入数据库,forms,sync,laravel,has-and-belongs-to-many,eloquent,Forms,Sync,Laravel,Has And Belongs To Many,Eloquent,简言之,Laravel的eloquent是否有类似于它的sync()功能,不会立即将关系保存到数据库 我有两种型号 Place (id, name, address); 及 使用数据透视表,这两个模型彼此之间有一个has_many_和own_归属关系 feature\u-place(place\u-id,feature\u-id)。这正如预期的那样有效。现在,我正试图构建一个表单来创建一个新的地方。表单包含每个现有功能的复选框。对于错误处理,我希望能够在提交表单时创建一个Place对象。我希望
sync()
功能,不会立即将关系保存到数据库
我有两种型号
Place (id, name, address);
及
使用数据透视表,这两个模型彼此之间有一个has_many_和own_归属关系
feature\u-place(place\u-id,feature\u-id)
。这正如预期的那样有效。现在,我正试图构建一个表单来创建一个新的地方。表单包含每个现有功能的复选框。对于错误处理,我希望能够在提交表单时创建一个Place对象。我希望能够创建我的HABTM
关系,以便在提交失败(验证错误或类似错误)时可以轻松重建和填写表单sync()
通常会处理这些关系,但由于提交失败,我还不想在数据库中插入位置。
是否有一种简单的方法,如
sync()
,在我的位置
和我可以用来在重建时重新填充表单的功能之间创建关系,在表单提交成功之前不必写入数据库?听起来您需要将输入闪存到会话中,然后在呈现表单时加载旧值
// Somewhere in your post route
if ( $oh_noes_teh_validator_failed )
{
Input::flash();
Redirect::to_route( 'my-edit-form' );
}
// Somewhere in your edit route or view
$title = Input::old( 'title', $title );
这将携带数据,是的,但它不会给我模型结构,以便能够为“创建新位置”和“编辑现有位置”构建相同的表单。我目前正在查看前一个包,看看它是否可以为我处理表单构建/验证/重建。到目前为止,它看起来很有希望。
// Somewhere in your post route
if ( $oh_noes_teh_validator_failed )
{
Input::flash();
Redirect::to_route( 'my-edit-form' );
}
// Somewhere in your edit route or view
$title = Input::old( 'title', $title );