如何在laravel 5.3中将$ casts转换为具有manyToMany关系的pivot列?

时间:2016-09-19 19:48:20

标签: laravel many-to-many pivot-table laravel-5.3

我在laravel 5.3中应用 $ casts来旋转列时遇到问题。我使用很多ToMany关系。 我的3个DB表:

users - contain: id,…other columns
books - contain: id,…other columns
book_user (pivot table) - contain: book_id, user_id, options
“options” is JSON type.

我想使用$ casts将我的枢轴列选项转换为json_encode / json_decode。
例如:

$casts = ['pivotColumn.options'=>'array'] 

我的模特:

class User extends Model
{
    protected $casts = [
        books.pivot.options' => 'array',
    ];

    public function books() {
        return $this->belongsToMany('App\Book’)->withPivot('options');
    }
}

class User extends Model
{
    protected $casts = [
        users.pivot.options' => 'array',
    ];

    public function books() {
        return $this->belongsToMany('App\User’)->withPivot('options');
    }
}

我发现版本5.1及更高版本可以使用点表示法来进行枢轴投射。 例如:

protected $casts = [
    books.pivot.options' => 'array',
];

我尝试了更多变种,但没有。它不起作用:/。

你能帮帮我吗? 谢谢你的每一个答案。

0 个答案:

没有答案