質問

私はLaravelで自己参加を築こうとしています。同じテーブルの2列を比較したいです。

これを私のコントローラーに書き込むとき:

$char_name_obj = User::find($user->id)->characters()->where('lord_id', '=', 'id')->get();
.

lord_idは1列の列です、IDは文字の名前付きの同じテーブル内の他の列です。これは何も返しません。私はこれを達成することができるように自己参加をする必要があると確信しています。

文字モデル:

class Character extends Eloquent {

    protected $table = 'characters';

    protected $fillable = array('lord_id','char_name', 'char_dynasty', 'picture');

    public function user()
    {
        return $this->belongsTo('User');
    }

    public function Titles()
    {
        return $this->hasMany('Title');
    }

    public function LordCharID()
    {
        return $this->has_one('Character');
    }
}
.

最後の関数LordCharID()の使い方を知りません。

役に立ちましたか?

解決

has_oneはLARAVER 3機能です。そのため、Laravel 4を使用している場合は、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top