保存两个字段同名关系一对一背包laravel
save both field same name relationship one to one backpack laravel
我有两个 table 具有一对一的关系 hasOne 并且具有相同的列名称
CRUD::addField([
'label' => "Title",
'type' => 'text',
'name' => 'new_title', // the db column for the foreign key
]);
CRUD::addField([
'label' => "Title",
'type' => 'text',
'name' => 'achive.new_title', // the db column for the foreign key
'entity' => 'achive',
]);
我只想显示一次,但要同时保存两次 table
您需要调用回调方法的东西,该方法的简单之处在于您可以在 create
、edit
、delete
和 etc
之后控制您想要的内容.
因此,在您的控制器中只需要一个字段名称,
CRUD::addField([
'label' => "Title",
'type' => 'text',
'name' => 'new_title',
]);
之后,您可以在控制器中为 creating/updating 您的关系创建一个新特征,
use \Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation { store as traitStore; }
然后,声明存储函数,
public function store() {
// Get the value from the request
$request = $this->crud->getRequest();
// And then you can insert/update data into your relationship table
\DB::table('achives') // Your relation table
->updateOrInsert(
['new_title' => $request->new_title],
['other_column_name' => 'Value of your other column']
);
$response = $this->traitStore();
// do something after save
return $response;
}
updateOrInsert
方法接受两个参数:查找记录所依据的条件数组,以及指示要更新的列的列和值对数组。 more info here
我有两个 table 具有一对一的关系 hasOne 并且具有相同的列名称
CRUD::addField([
'label' => "Title",
'type' => 'text',
'name' => 'new_title', // the db column for the foreign key
]);
CRUD::addField([
'label' => "Title",
'type' => 'text',
'name' => 'achive.new_title', // the db column for the foreign key
'entity' => 'achive',
]);
我只想显示一次,但要同时保存两次 table
您需要调用回调方法的东西,该方法的简单之处在于您可以在 create
、edit
、delete
和 etc
之后控制您想要的内容.
因此,在您的控制器中只需要一个字段名称,
CRUD::addField([
'label' => "Title",
'type' => 'text',
'name' => 'new_title',
]);
之后,您可以在控制器中为 creating/updating 您的关系创建一个新特征,
use \Backpack\CRUD\app\Http\Controllers\Operations\CreateOperation { store as traitStore; }
然后,声明存储函数,
public function store() {
// Get the value from the request
$request = $this->crud->getRequest();
// And then you can insert/update data into your relationship table
\DB::table('achives') // Your relation table
->updateOrInsert(
['new_title' => $request->new_title],
['other_column_name' => 'Value of your other column']
);
$response = $this->traitStore();
// do something after save
return $response;
}
updateOrInsert
方法接受两个参数:查找记录所依据的条件数组,以及指示要更新的列的列和值对数组。 more info here