لفرض أن المستخدم يريد ميزه ترتيب عرض البيانات، حسب ( الإسم، السعر ....)، وللقيام بذلك كل ما علينا القيام به هو إضافة sortable() إلى TextColumn الذي نريد إتاحه عملية الترتيب له.
في المثال الذي نستخدمه وهو Product لإضافة sorting حسب name نذهب للملف ProductResource ثم إلى الدالة table-columns وبجانب الحقل name نضيف sortable()
public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('name')->sortable(), Tables\Columns\TextColumn::make('price'), ]) ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); }
الأن وكما نرى في الصوره أنه تم إضافة سهم بجانب Name من أجل ترتيب النتائج حسب الإسم.
لفرض أنه لدينا أكثر من حقل نريد عمل sort له، ففي حالتنا Name, Price لكن نريد أن تظهر النتائج بشكل إفتراضي حسب السعر من الأعلى إلى الأقل
هنا نحتاج للتعديل على الدالة table وإضافة defaultSort
public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('name')->sortable(), Tables\Columns\TextColumn::make('price')->sortable(), ]) ->defaultSort('price','desc') ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); }
لإضافة خاصية البحث في جدول معين، كل ما علينا القيام به هو إضافة الخاصية searchable إلى TextColumn للحقل الذي نريد البحث عليه
في حالتنا هنا نريد تطبيق ذلك على إسم المنتج Name
لذلك نذهب للملف ProductRecource للدالة table ومن ثم بداخل الدالة table نضيف searchable للـ Name
public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('name')->sortable()->searchable(), Tables\Columns\TextColumn::make('price')->sortable(), ]) ->defaultSort('price','desc') ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); }