2017-04-12 7 views
0

私はこれを使用laravel 5.3Laravelのテーブルからすべての行を(ソフト削除なしで)取得する方法は?

を使用します。https://github.com/jenssegers/laravel-mongodb

マイlaravelの雄弁は、このようなものです:

$data = Employee::select('id', 'name', 'salary', 'description') 
       ->find($id); 

私のモデルは、このようなものです:

<?php 
namespace App\Models; 
use Eloquent as Model; 
use Illuminate\Database\Eloquent\SoftDeletes; 
use Jenssegers\Mongodb\Eloquent\Model as Eloquent; 
use Jenssegers\Mongodb\Eloquent\HybridRelations; 
class Employee extends Eloquent 
{ 
    use HybridRelations; 
    use SoftDeletes; 
    protected $connection = 'mongodb'; 
    public $table = 'employees'; 
    protected $dates = ['deleted_at']; 
    ... 
} 

問題があり、実行すると、ソフト削除された項目がそこに表示されます。なにが問題ですか?

+0

あなたは何を意味するか、選択 – AshokGK

+0

@Pandaでそれらを除外する必要がありますか? –

+0

移行に$ table-> softDeletes()を追加しましたか? – stefansixx1

答えて

2

不適切な形質を使用していますuse Illuminate\Database\Eloquent\SoftDeletes;は、Laravel Eloquentモデルでのみ動作します。 Jenssegers \ MongoDBのために

あなたが使用する必要があります。

use Jenssegers\Mongodb\Eloquent\SoftDeletes; 
+0

ありがとう。できます –

0

EmployeeクラスでtoArray()メソッドを上書きできます。

+0

私はそれを追加しました。しかし、それは動作しません。ソフト削除された項目はまだそこに現れます –

+0

これを試してください: '$ data = Employee :: find($ id)' 'select 'を使わずに –

+0

それは同じです。それは動作しません。何のためにtoArrayメソッドが使用されていますか? –

関連する問題