私は現在、laravelを介して多対多の関係を持ついくつかのモデルを持っています。構造は次のとおりです。
users
id
username
...
games
id
title
...
game_user
game_id
user_id
system
さて、私のモデルは次のようになります。
<?php
class Game extends Eloquent
{
/**
* A game is owned by many users
*
* @return mixed
*/
public function user()
{
return $this->belongsToMany('User')->withPivot('system');
}
<?php
class User extends Eloquent
{
/**
* A user has many games.
*
* @return mixed
*/
public function games()
{
return $this->belongsToMany('Game')->withPivot('system');
}
これで、すべて正常に動作します。ただし、ピボット テーブルのシステム フィールドでミューテーターを使用したいと考えています。これに関するドキュメントが見つからず、次の (ユーザー モデルとゲーム モデルの両方で) は機能しません。
public function getSystemAttribute($val)
{
return $val.' Testing';
}