2017-01-22 9 views
1

私のリポジトリは、このようなものです:すべてのデータをリポジトリ(laravel 5.3)で更新するには?

<?php 
namespace App\Repositories; 
use App\Models\UsersBank; 
use Illuminate\Contracts\Container\Container; 
use Rinvex\Repository\Repositories\EloquentRepository; 
class UserBankRepository extends EloquentRepository 
{ 
    public function __construct(Container $container) 
    { 

     $this->setContainer($container) 
      ->setModel(UsersBank::class) 
      ->setRepositoryId('rinvex.repository.uniqueid'); 
    } 
} 

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

<?php 
namespace App\Models; 
use Illuminate\Database\Eloquent\Model; 
class UsersBank extends Model 
{ 
    protected $fillable = ['user_id','bank_id','status','account_name','account_number']; 
} 

私のサービスは、このようなものです:

public function setMain($id) 
{ 
    $param['status'] = 1; 
    $this->user_bank_repository->update($id, $param); 
} 

setMain機能を実行すると、それが更新されるフィールドIDでステータス= 1

更新したいステータス=すべてのレコードに1。だから、idによってではなく

どうすればいいですか?

注:私はここに意味

アップデートがリポジトリ経由でアップデートです。モデルを使用して更新しない

答えて

2

パッケージの方法を参照してください。それは不可能なので、foreach()を使用して多数のクエリを作成する必要があります。

私はまだEloquentを使用していて、一握りの機能を提供していないので、これと同様のパッケージは役に立たないと思います。 Eloquentを使用して、1つのクエリですべての行を直接更新することをお勧めします。

Model::query()->update(['status' => 1]); 
関連する問題