まあ、私が得たフィールドが明示的に次のように使用している場合は、まだ提供されていますがdd($extension->toJson());
をお試しくださいアイデアからhttps://stackoverflow.com/a/38297876/518704
私の関係モデルExtension::class
は私のコードで名前で呼ばれているので、私はそのコンストラクタにパラメータを渡すことさえできません。
コンストラクタに何かを渡すために、私は静的なクラス変数を使うことができます。
私のExtension
モデルでは、静的変数を追加してmakeVisibleメソッドを実行します。 後で次の呼び出しとインスタンスがデフォルトのモデル設定を使用するように変数を破棄します。
私はこれを特性に移しましたが、ここで私のモデル例で示します。
class Extension extends Model
{
public static $staticMakeVisible;
public function __construct($attributes = array())
{
parent::__construct($attributes);
if (isset(self::$staticMakeVisible)){
$this->makeVisible(self::$staticMakeVisible);
}
}
.....
public function __destruct()
{
self::$staticMakeVisible = null;
}
}
そして、私の関係で私はこの
class User extends Authenticatable
{
...
public function extensions()
{
$class = Extension::class;
$class::$staticMakeVisible = ['password'];
return $this->belongsToMany(Extension::class, 'v_extension_users', 'user_uuid', 'extension_uuid');
}
...
}
ようなものを使用することは、私が求めているものを、今です。私は属性を直接取得する方法を知っています。 後で私の** belongsToMany **結果をJson出力に渡すので、いくつかのフィールドを動的に表示/非表示にする必要があります。 – Gruz