2017-01-22 5 views
1

Mein Repository ist wie folgt:Wie aktualisiert man alle Daten nach Repository (Laravel 5.3)?

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

Mein Service wie folgt aus::

<?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'); 
    } 
} 

Mein Modell wie dieses ist

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

Wenn setMain Funktion ausgeführt wird, wird es aktualisieren Feld Status = 1 durch die ID

Ich möchte aktualisieren Status = 1 für alle Datensätze. Also, nicht nach ID

Wie kann ich es tun?

Hinweis:

aktualisieren, die ich hier meine, ist das Update über das Repository. Kein Update durch ein Modell

Antwort

2

Schauen Sie in den Quellcode von update() Methode des Pakets und Sie werden sehen, es ist unmöglich, so müssen Sie foreach() verwenden und eine Reihe von Abfragen erstellen.

Meine Meinung ist dies und ähnliche Pakete sind nutzlos, da sie immer noch Eloquent verwenden und keine Handvoll Funktionalität bieten. Ich empfehle Ihnen, Eloquent direkt zu verwenden, um alle Zeilen mit nur einer Abfrage zu aktualisieren: