Forms Laravel eloquent有很多个,并且属于sync(),无需写入数据库

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对象。我希望

简言之,Laravel的eloquent是否有类似于它的
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 );