3

$appendsLaravelには、各モデルに配列を追加するオプションがあり、それぞれにアクセサーを追加することにより、追加の値をデータベース属性であるかのように自動的に使用可能にします。

これは通常、非常に便利ですが、この場合select()、DataTables は私が送信したものだけを期待しているため、入力したフィールドのみを取得する必要があります。

例:

Item::select(['image', 'name', 'color']);

color属性の後に追加されたフィールドを返します。

結果を返すときに追加値を強制的に除外するにはどうすればよいですか?

あるいは、DataTables が特定の属性を無視するようにするにはどうすればよいですか?

どれが最も時間がかからないルートかはわかりません。

現在、yajra/laravel-datatablesパッケージを使用してデータを jQuery DataTables AJAX リクエストに送信しています。

4

2 に答える 2

3

コレクションオブジェクトの各関数を呼び出してから、 setHidden メソッドを使用して、このように不要なフィールドを除外できます

$item= Item::select(['image', 'name', 'color'])->get()->each(function($row){
                    $row->setHidden(['appendedField1', 'appendedField2']);
                });

yajra/laravel-datatables の場合は、次のようなものを使用できます

$item= Item::select(['image', 'name', 'color']);
return Datatables::of($item)->remove_column('appendedField1');
于 2015-10-29T06:19:14.507 に答える