5

Laravel 4.1 で Elequent ORM のソフト削除機能を使用しようとしています。

レコードの削除は期待どおりに機能しますが、withTrashed() を使用して結果を検索し、trashed() を使用してソフト削除されたレコードかどうかを確認すると、次のエラーが発生します。

未定義のメソッド Illuminate\Database\Eloquent\Collection::trashed() の呼び出し

これが私のコードです。助言がありますか?

$product = Product::withTrashed()->where('url', Input::get("product_url.$key"))->where('prolist_id', $list->id)->get();

if($product->trashed())
{
    $product->restore();
}
4

1 に答える 1

7

get()オブジェクトのコレクションを返しています。1 つの結果のみが必要な場合は、first()代わりに実行して、それを呼び出すことができますtrashed()。複数が必要な場合は、ループ内の項目ごとに個別にメソッドを呼び出す必要があります。

于 2014-05-14T18:24:45.050 に答える