2017-01-22 109 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功能執行,這將更新場狀態= 1由編號

我想更新狀態= 1到所有記錄。所以,不按編號

我該怎麼辦?

注:

更新我的意思是這裏是通過存儲庫的更新。不通過模型更新

回答

2

查看軟件包的方法update()的源代碼,您將看到它是不可能的,因此您需要使用foreach()並創建一堆查詢。

我的意見是這樣的,類似的軟件包是無用的,因爲他們仍然使用雄辯,不提供任何少數功能。我建議你直接使用Eloquent來更新所有行,只用一個查詢:

Model::query()->update(['status' => 1]);