我在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',
];
我尝试了更多变种,但没有。它不起作用:/。
你能帮帮我吗? 谢谢你的每一个答案。