2016-04-19 10 views
0

ここでは、1つを除いてすべてのプロパティが設定されたモデルを取得します。Laravel 5.既存のモデルインスタンスからクエリを実行しますか?

私はデータベース内で検索を行い、すべてのプロパティ値に一致するレジストリがあるかどうかを確認します。その場合は、最後のプロパティ値を取得して保持します。

は今、それがすべてのように場所を与えて、クエリウィットクエリビルダをやってイム:...

$query->Model::select()->where(field, $instance->field); 
$query->where(field2, $instance->field2); 
... 
$query->get(); 

しかし、私はいくつかの方法のようなショートカットが作成するかどうかを知りたい

$instance->get(); 
+2

Eloquentのドキュメントをご覧ください。例と一般的な使用例を含め、必要なものはすべてそこにあります。 https://laravel.com/docs/5.2/eloquent –

答えて

1

はいあなたはこの

class YourModel extends Model 
{ 
    public function getFiltered() 
    { 
    return Model::where('field1',$this->field1)->where('field2',$this->field2)->get(); 
    } 
} 

ようなあなたのモデルにメソッドを定義することによってこれを行うことができますし、このようにアクセスすることができます:

拡張されているモデルで既に使用されているため、関数名は 'get'にすることはできません。しかし、getFilteredから使用されていないものに変更することができます。 Like ModelがUserで、getFiltered関数がユーザーのコメントを与える場合は、コメントになります。

+0

よろしくお願いします。 非常にきれいな、私が探していたthats。 ありがとうございました:) – Sampudon

+0

完了。もう一度ありがとう:) – Sampudon

+0

@Sampudon問題はありません。 –

関連する問題