2017-07-19 12 views
0

https://github.com/Laravel-Backpackをインストールして、それを気に入っています。Laravelバックパックを検索する 'get'リクエストを許可する方法

しかし、私はドキュメントはまばらなことを見つけて、私はこれを行うことができますどのように徹底的に理解するコードがあまりにも広大な/複雑です:

私は、このようなexample.comなどのブックマークページにできるようにしたいです/ admin/contact/search/mySearchTermHを入力し、mySearchTermHereがDataTables検索フィールドにパイプされ、適切な結果が表示されている連絡先リストを表示します。

コードベースを見たとき、私はCrudRouter.phpで見つかった:

Route::post($this->name.'/search', [ 
    'as' => 'crud.'.$this->name.'.search', 
    'uses' => $this->controller.'@search', 
]); 

私はそれは私が使用可能にしようとしている(と私はそれが代わりにのみ掲載を許可することを見るものにしても関連するかどうかわかりませんゲットの)

バックパックのソースコードを編集しないで、理想的には私の目標を達成するにはどうすればいいですか?次に、最新のバージョンにアップグレードするときに上書きされますか?

私はこの機能が既に存在すると予想していますが、多分それはありますが、私はどのURLを使用するかを知りませんでした。

P.S.私はこれらのバージョン使用しています:

"backpack/base": "^0.7.19", 
"backpack/crud": "^3.2" 

答えて

1

あなたはまさにそれを行うことができBackpack's filtersを、使用している何をしようとしている実行するデフォルトの方法を - しかし、フィルタ、NOTのDataTable検索フォームを事前入力します。見て、私はそれが最速の方法だと思う。

DataTables検索のみを使用できる場合は、必要に応じてリストビューを変更できます。ちょうどresources/views/backpack/vendor/crud/list.blade.phpと呼ばれるファイルを作成してください。バックパックはパッケージ内のものではなく自動的にそのパッケージを選択します。元のファイルからコードをコピーし、必要なカスタムロジックを追加します。DataTablesをロードした後、jQueryで強制的に検索します。

希望します。


あなたの最初の推測に答えるために、search()方法は、反直感的にすべての結果を返すために使用されている、あなたはAjaxDataTablesを使用している場合、検索かどうか:

// ------ AJAX TABLE VIEW 
// Please note the drawbacks of this though: 
// - 1-n and n-n relationship columns won't be searched anymore; 
// - date and datetime columns won't be sortable anymore; 

$this->crud->enableAjaxTable(); 

はありませんので、それは関連していないのですあなたがしようとしているものに。そこで変更を加えると、各列の行に個別に適用されます。

関連する問題