1

Eloquent を使用して DB から取得したオブジェクトからいくつかの要素を削除しようとしています。

変数 $words に割り当てられたオブジェクトがあります

$words = Word::all();

$words を JSON として表示すると、次のようになります。

[
{
"id": "1",
"word": "dog",
"phonetic": "dog",
"mean": "pies",
"assoc": "some example text",
"author_id": "3",
"user_id": "3"
},
{
"id": "2",
"word": "sun",
"phonetic": "sun",
"mean": "słońce",
"assoc": "lorem ipsun dolor sit amet",
"author_id": "3",
"user_id": "2"
}, ...
]

私がやりたいことは、オブジェクト全体から、たとえば値「user_id」が 2、4、または 5 に設定されているエンティティを削除することです。この ID は配列に格納されます。

Eloquent ORMでそれを達成するための最良の方法は何ですか? Word::where(...) を使用するだけでは十分ではありません。私の知る限り、値は 1 つしかとれないからです。私は foreach ループでそれをやろうとしていましたが、オブジェクト $words を繰り返しても変更はありませんでした。

4

2 に答える 2

0

を使用してはwhere_not_in()どうですか? http://laravel.com/docs/database/fluent

このような:

DB::table('users')->where_not_in('id', array(2, 4, 5))->get();
于 2013-05-20T17:54:13.840 に答える