質問
elomoent ormを使用したSQLからの同等のマイナス操作はありますか?
例えば
です$ MODEL1= MODEL ::ここで(「いくつかの制約が適用」) $ MODEL2= MODEL ::ここで(「いくつかの制約が適用されている」)
$ MODEL1に存在するが$ MODEL2
ではないすべてのモデルを取得したいです。解決
SeBlazeの答えは3つのクエリを実行しますが、よさそうです。別のオプションは、コレクションオブジェクトのdiff()メソッドです。
$result = $model1->diff($model2);
.
DBからのデータを2つのクエリでフェッチした後に機能しますが、データのセット(「制約が適用されている」)。
他のヒント
私が見る最も簡単な方法:
//Get the id's of first model as array
$ids1 = $model1->lists('id');
//get the id's of second models as array
$ids2 = $model2->lists('id');
//get the models
$models = Model::whereIn('id',$ids1)->whereNotIn('id',$ids2)->get();
.
これはテストされていませんコードは、elomoent queries こちら
所属していません StackOverflow