Backpackforlaravel-inline-createmany-to-manyrelation
创始人
2024-11-20 05:00:46
0

使用Laravel Backpack中内联创建Many-to-Many关系的方法

在Laravel中使用Backpack for Laravel来处理Many-to-Many关系时,需要使用内联表单和JavaScript来创建新的条目,然后将其添加到中间表中。

以下是示例代码:

  • 定义模型
class User extends Model
{
    protected $fillable = ['name'];

    public function roles()
    {
        return $this->belongsToMany(Role::class)->withTimestamps();
    }
}

class Role extends Model
{
    protected $fillable = ['name'];

    public function users()
    {
        return $this->belongsToMany(User::class)->withTimestamps();
    }
}
  • 创建内联表单
$this->crud->addField([
    'name' => 'roles',
    'label' => 'Roles',
    'type' => 'checklist',
    'entity' => 'roles',
    'attribute' => 'name',
    'model' => Role::class,
    'pivot' => true,
    'inline_create' => [
        'entity' => 'roles',
        'create_button_label' => 'Add new role',
        'fields' => [
            [
                'name' => 'name',
                'label' => 'Name',
                'type' => 'text',
            ]
        ]
    ],
]);
  • 添加JavaScript代码
(function () {
    $(document).ready(function () {
        var roles = $('#field-roles');
        roles.on('change', function () {
            var items = $(this).val();

            if (items.includes('__inline__')) {
                var url = '/admin/roles';
                var method = 'POST';

                var data = {
                    name: $('#inline_field-roles-name').val()
                };

                $.ajax({
                    url: url,
                    method: method,
                    data: data,
                    success: function (result) {
                        var option = new Option(result.name, result.id, true, true);
                        roles.append(option).trigger('change');
                        $('#inline_form-roles').modal('hide');
                    }
                });
            }
        });
    });
})();

注意:需要将/admin/roles

相关内容

热门资讯

6分钟辅助!hhpoker是真... 6分钟辅助!hhpoker是真的假的,hhpoker真的有透视吗,演示教程(真是有挂)1、每一步都需...
第七分钟辅助!we poker... 第七分钟辅助!we poker插件,we poker免费辅助器,手筋教程(有挂方式)暗藏猫腻,小编详...
七分钟辅助!aa poker辅... 七分钟辅助!aa poker辅助包,pokemmo脚本辅助器下载,讲义教程(有挂秘籍)1、pokem...
第四分钟辅助!wepoker辅... 第四分钟辅助!wepoker辅助器安装包定制,aapoker透视脚本,大纲教程(有挂总结)所有人都在...
第四分钟辅助!wpk透视辅助靠... 第四分钟辅助!wpk透视辅助靠谱吗,wepoker透视苹果系统,诀窍教程(有挂猫腻);运wepoke...
七分钟辅助!aapoker透视... 七分钟辅助!aapoker透视脚本入口,wejoker开挂,学习教程(有挂教程)1、打开软件启动之后...
第四分钟辅助!淘宝买wepok... 第四分钟辅助!淘宝买wepoker透视有用吗,wpk俱乐部怎么作弊,积累教程(有挂规律)1、下载好淘...
6分钟辅助!we-poker软... 6分钟辅助!we-poker软件,购买的wpk辅助在哪里下载,积累教程(有挂技巧)购买的wpk辅助在...
第2分钟辅助!如何下载wepo... 第2分钟辅助!如何下载wepoker安装包,newpoker怎么安装脚本,教程书教程(今日头条)1、...
4分钟辅助!wepoker钻石... 4分钟辅助!wepoker钻石怎么看底牌,wepoker辅助器有哪些功能,法门教程(有挂详细)该软件...