2016-12-21 6 views
-1

複数のコントローラ(入札、記事、ユーザーなど)に画像を保存する必要があるため、これらのコントローラから呼び出すことができる方法があればいいでしょう。私がそれをどのように実装できるのか?laravelの複数のコントローラからのメソッド呼び出し

PS:私はなど、作物の名前を変更し、サイズを変更し、コントローラが広がるので、私は、

+0

「複数のコントローラに画像を保存する」という意味が不明です。 Eloquentモデルを使用して画像を保存する場合は、モデルに処理メソッドを追加し、その処理機能をオーバーライドしてストア/更新メソッドに追加することができます。 – CUGreen

+0

*複数のコントローラ(入札、記事、ユーザーなど)にイメージを保存する必要があります。* - イメージを保存し、そのメソッドを別のコントローラから呼び出し可能にしますか?いくつかのクラスを作ってappディレクトリのどこかに置いて、それらを呼び出すことができます。(適切な 'namespace'と' use'を使用したと仮定して) –

+0

@BagusTesaまさに私は必要な様々なコントローラから同じメソッドを呼び出すそれらの多くで画像をディスクに正確に同じ方法で保存することができます。 私はちょうどモデルではない新しいクラスを作成します。 –

答えて

0

これを行う最善の方法は、イメージモデルのリレーションとメソッドを含む作成特性です。ここで私はどのようにそれを使用しています。

クレート形質画像可能。

trait Imageable 
{ 

    public function images() 
    { 
     //code 
    } 
} 

ProductControllerを作成します。

<?php 

use App\Traits\Imageable; 

class ProductController extends Controller 
{ 
    use Imageable; 


} 

create CollectionController。

<?php 
    use App\Image; 
    use App\Traits\Imageable; 
    use Eloquent as Model; 

    class CollectionController extends Controller 
    { 
     use Imageable; 
    } 

この参照で形質の特性を使用してください。

$this->images(); 
$this->images(); 
0

あなたがController.phpにメソッドを追加することができ、私のアップロード全体の絶対的な一貫性を維持したいので、私はこのような関数/メソッドが必要このコントローラは、すべてのコントローラにこのメソッドがあります。

関連する問題