2017-05-24 1 views
0

私の雄弁なモデルの中にカスタムクエリが定義されています。モデルを取得したときにその結果を含める最も良い方法は何ですか?Laravelのカスタムクエリを使用したモデルを返す

私は保護された$があることを知っていますが、それは関係だけを受け入れますが、$が追加されますが、それは属性用であり、クエリはオブジェクト全体を返し、属性として含めることをお勧めします。

また、モデルメソッド内でこれを行う方法がある場合は、必ずこの情報をすべてのモデルインスタンスに含める必要はないので、私はそれについて聞きたいと思います。

ご意見をお待ちしております。

編集: 私は$ withおよびrelationsに精通しています。私が正しくあなたの必要性を理解している場合、あなただけの熱心な負荷との関係を望んで

public function thisIsMyQuery() 
{ 
    return DB::table('example')->where('const', '>', 3); 
} 

答えて

0

: 私は何を求めていることは、私は熱心な負荷にこのような何かを得るのですかです。これを行うには、モデル内にリレーションを定義し、メソッド名を$with配列内に追加する必要があります。

例:

// Inside your model class 

class Post extends Model 
{ 
    protected $with = ['comments']; 

    public function comments() 
    { 
     return $this->hasMany(Comment::class); 
    } 
} 

// Usage 

$post = Post::find(1) 
$post->comments; // here are the related comments 
+0

いいえ、私は私が作成した熱心な負荷カスタムDBクエリにしたいです。それは関係ではなく、関係がないので、$を使うことはできません。 –

+0

なぜカスタムクエリを実行するのではなく、熱心にロードしたいのですか? –

+0

さて、違いは、クエリの単なる青写真の関係ではありません。私が尋ねるのは、できるかどうかだけです。クエリが関係と同じデータを返すことができる場合、なぜそれが熱望することができないはずがないのは私の質問ですか?私が間違っていないなら、ページ上でたくさんの質問をするよりも熱心な方が良いです。 –

関連する問題