2016-10-19 7 views
0

1つのフィールドの保存に問題があります。どうすればデバッグできますか? AdvertController.phpのddは効果がありません。他のフィールドはすべて正しく格納されます。Laravel-Backpackイメージフィールドのデバッグ

AdvertController.php

class AdvertController extends Controller 
{ 
public function store(Requests\StoreAdvertPostRequest $request) 
    { 
     dd($request->input('photo')); 
    } 

AdvertCrudController.php

public function edit($id) 
{ 

    $articlePicture = Advert::find($id)->photos[0]->file_name; 

    $path = 'uploads/photos/' . $articlePicture; 

    $this->crud->addField([ 
     'name' => 'photo', 
     'label' => 'Profile Image', 
     'type' => 'image', 
     'value' => $path, 
     'crop' => true, 
     'aspect_ratio' => 0.75, 
    ]); 

    return parent::edit($id); 
} 

最後に、私はまた、ストア方法作物の座標を渡したいです。

答えて

0

"store"メソッドは、編集するのではなく、エントリを作成するときにのみ呼び出されます。おそらくあなたは編集しようとしていたでしょうか?次に、dd()をupdate()メソッドの内部に配置する必要があります。しかし、それはCrudControllerにあり、通常のものではありません。あなたのレギュラーコントローラーが何をしているのか分かりません。

通常、値がデータベースに格納されていない場合は、モデルの$ fillable属性に列を配置するのを忘れているためです。

また、これはアップロードフィールドなので、ファイルをディスクに配置するミューテータを作成する必要があります。 「イメージ」フィールドのドキュメントにはそれがあります。

乾杯!

+0

私はAdvert Controller.phpでddを使用しましたが間違いでした。 – neuroine

+0

クロップからストア/更新メソッドへ座標を渡すことは可能ですか? – neuroine

+0

現在のところ、いいえ。しかし、あなたが座標を知っていて、それらが同じままであれば、ミューテータの中でおそらくモデルの中で切り抜かれているはずです。こうすることで、画像がアップロードされるたびに(CRUDまたはフロントエンドのどこにあっても)、同じクロッピングルールが使用されます。 https://laravel-backpack.readme.io/docs/crud-fields#image – tabacitu

0

論理をストアと編集メソッドからミューテータに移動する必要があるようです。

このpackageをご覧ください。この例の基本的なロジックが含まれており、画像を扱うときに便利です。

ディメンションとスタッフの手助けができません:/

関連する問題