在Backpack上为Laravel做CRUD,遇到了问题。我有Domain和domainPrices表Domain model:
public function domainPrice()
{
return $this->hasOne(DomainPrices::class, 'domain_id', 'id');
}
DomainPrices模型:
public function domain()
{
return $this->belongsTo(Domain::class, 'id', 'domain_id');
}
迁移:
Schema::table('domain_prices', function(Blueprint $table) {
$table->foreign('domain_id')->references('id')->on('domains')
->onDelete('cascade')
->onUpdate('cascade');
});
对于setupCreateOperation()
$this->crud->addField([
'name' => 'bin_price',
'type' => 'number',
'entity' => 'domainPrice',
'attribute' => 'bin_price',
'model' => 'DomainPrices',
'pivot' => false,
]);
setupUpdateOperation:
$this->setupCreateOperation();
我可以用这个来存储数据,但是当我使用更新路由时,有一个空字段。但它是显示值,在列表视图与:
CRUD::column('domainPrice')->attribute('bin_price');
PHP版本:简体中文
LARAVEL版本:v8.44.0
背包版本:4.1.46
2条答案
按热度按时间4jb9z9bj1#
解决方案比我想象的要容易,而不是:
我用途:
jv4diomz2#
扩展解决方案,以防您尝试从父创建/编辑表单创建/更新1:1子记录:
父型号:
子模型:
父CRUD控制器:
确保在子CRUD控制器中导入内联表单trait