Laravel"with"将可变案例更改为蛇案

Del*_*D0D 7 php relationship laravel

在我的Laravel应用程序中,我有一个定义如下关系的模型:

public function vitalCategories()
{
    return $this->belongsToMany(
        'App\Models\Diagonals\VitalLabelCategory',
        'vitalLabelCategoryMap',
        'vitalLabelId',
        'vitalLabelCategoryId');
}
Run Code Online (Sandbox Code Playgroud)

当我查询下面的记录时,我希望该关系可以与变量名一起使用 vitalCategories

$vitalLabel = VitalLabel::where('label', 'confirmation')->with(['subscribers','vitalCategories','vitals'])->first();
return json_encode($vitalLabel);
Run Code Online (Sandbox Code Playgroud)

但是,上面的查询产生与变量名称'vital_categories'的关系,如下所示:

在此输入图像描述

如何让laravel停止改变我的变量的情况与蛇案的关系?

只是为了笑容,我也尝试过:

$vitalLabel = VitalLabel::where('label', 'confirmation')->with(['subscribers','vitalCategories','vitals'])->first();
$vitalLabel->load('vitalCategories');
$vitalLabel->vitalCategories = $vitalLabel->vitalCategories() ;
return json_encode($vitalLabel);
Run Code Online (Sandbox Code Playgroud)

未能看到相关模型:

在此输入图像描述

所以我试过:

$vitalLabel = VitalLabel::where('label', 'confirmation')->with(['subscribers','vitalCategories','vitals'])->first();
$vitalLabel->load('vitalCategories');
$vitalLabel->vitalCategories = $vitalLabel->vital_categories;
return json_encode($vitalLabel);
Run Code Online (Sandbox Code Playgroud)

也未能看到相关模型:

在此输入图像描述

pat*_*cus 8

Laravel自动关系的名称从转换camelCasesnake_case当模型被转换成一个阵列(toArray())或JSON( toJson()).

因此,模型上的属性实际上是vitalCategories,但是当您将其作为json转储时,它将打印为vital_categories.

如果要关闭它,可以将$snakeAttributes模型的属性设置为false.

public static $snakeAttributes = false;
Run Code Online (Sandbox Code Playgroud)