Php 无法为Laravel Voyager中的关系重新创建数据行

Php 无法为Laravel Voyager中的关系重新创建数据行,php,json,laravel-5,metacharacters,voyager,Php,Json,Laravel 5,Metacharacters,Voyager,我升级到了laravel 5.5和Voyager 1.0,并在一个流浪者盒子上使用mysql 我想在data_rows表中添加一个条目,用于用户和存储之间的关系。我能够使用Voyager的gui创建条目 这将创建相应的表条目 当我将所有这些值复制到播种机中时 $dataRow = $this->dataRow($storeDataType, 'store_belongsto_user_relationship'); if (!$dataRow->exists) { $dat

我升级到了laravel 5.5和Voyager 1.0,并在一个流浪者盒子上使用mysql

我想在data_rows表中添加一个条目,用于用户和存储之间的关系。我能够使用Voyager的gui创建条目

这将创建相应的表条目 当我将所有这些值复制到播种机中时

$dataRow = $this->dataRow($storeDataType, 'store_belongsto_user_relationship');
if (!$dataRow->exists) {
    $dataRow->fill([
        'type'         => 'relationship',
        'display_name' => 'Manager',
        'required'     => 0,
        'browse'       => 1,
        'read'         => 1,
        'edit'         => 1,
        'add'          => 1,
        'delete'       => 1,
        'details'      => '{"model":"App\\User","table":"users","type":"belongsTo","column":"manager_id","key":"id","label":"email","pivot_table":"ad_store","pivot":"0"}',
        'order'        => 20,
    ])->save();
}
如果我重新加载/database/stores/bread/edit页面,访问此行触发的非对象的属性时会抛出一个错误

<?php if($relationshipDetails->type == 'belongsTo'): ?><?php echo e('flexed'); ?><?php endif; ?>

这对我来说有点愚蠢。我的播种机正在插入一根我定义为这样的线;model:App\\User,我认为这足以将\字符放入数据库。就是这样。问题在我添加到问题的最后一行

json_decode($relationship['details'])
调用此函数时,它尝试从数据库中的字符串创建json对象。不幸的是,它没有成功创建json对象,因为种子程序将字符串model:App\User插入到数据库中

为了解决这个问题,我在播种器中将字符串声明改为

型号:App\\\\User

将其作为

型号:App\\User

当它通过json_解码时,它就变成了

型号:App\User


让这成为关于转义角色的重要一课。

我知道这是几年前的事了,但我将为旅行者的新手回答这个问题

json_decode($relationship['details'])
一个简单的答案是:详细使用php数组。 例如:

$dataRow=$this->dataRow$storeDataType,“store\u belongsto\u user\u relationship”; 如果$数据行->存在{ $dataRow->fill[ '类型'=>'关系', “显示名称”=>“管理器”, “必需”=>0, “浏览”=>1, “读取”=>1, “编辑”=>1, “添加”=>1, '删除'=>1, “详细信息”=>[ 模型=>App\\User, 表=>用户, 类型=>belongsTo, column=>manager\u id, key=>id, 标签=>电子邮件, pivot_table=>ad_商店, pivot=>0, ], “订单”=>20, ]->保存; }
我已经好几年没碰过拉威尔或旅行者了。我不知道这是否有效,但我愿意在空闲时间尝试并测试它。这是什么版本的旅行者为你做的?@WhyAyala它在^1.4上工作。我没有检查其他版本。如果你查到另一个版本,请告诉我。泰