Salut,
Je veux trier l'identifiant de la colonne ?
SVP aidez moi
Merci :)
Utilisez simplement la méthode order
sur votre javascript comme ci-dessous. Utilisez l'index de colonne de id.
$('table').DataTable({
...
order: [ [0, 'desc'] ]
})
je veux via sql éloquent. Peux-tu m'aider? :)
Peux-tu nous donner un exemple de ton code ?
Le tri dans Eloquent se fait avec ->orderBy('id','desc')
ou ->latest('id')
Mais lorsque je suis hors de la table, la colonne de tri ne fonctionne pas
Je pense que l'utilisation du tri dans votre éloquent remplace la fonctionnalité de tri dans les tables de données.
Au moins, quand je l'ai utilisé, le tri ne fonctionnait plus.
Mais encore une fois, montre-nous ton code. Nous pouvons mieux vous aider avec un exemple de ce que vous essayez d'accomplir.
merci pour l'aide :)
@ArtbyArjan a raison de dire que définir manuellement l'ordre de votre requête empêchera le tri de fonctionner. Si vous souhaitez trier par ID par défaut, utilisez le order
que j'ai suggéré ci-dessus. Sinon, cliquez simplement sur l'en-tête ID pour déclencher la fonctionnalité de tri.
Oui @yajra et @ArtbyArjan vous pouvez utiliser ->orderBy dans Eloquent. Cependant, cela désactivera la fonction ajax de tri des classes <th>
. Comme testé en faisant $policies = Policy::query()->latest()
sur PostDataTable.php. Je pense que @phainv voulait commander par desc et de même la fonction de tri <th>
.
Si vous utilisez en tant que service, dans la méthode html(), sur le tableau des paramètres, utilisez
/**
* Optional method if you want to use html builder.
*
* <strong i="6">@return</strong> \Yajra\Datatables\Html\Builder
*/
public function html()
{
return $this->builder()
->columns($this->getColumns())
->parameters([
'order' => [
0, // here is the column number
'desc'
]
]);
Comment trier avec une colonne que l'on ne souhaite pas afficher sur le tableau ?
Je ne souhaite pas afficher les identifiants sur la table. Je souhaite également commander par updated_at
et je ne souhaite pas afficher updated_at
sur la table
Salut @digitlimit , vous pouvez forcer une commande dans le paramètre de requête, comme :
public function query()
{
$myModel = Person::query()->orderBy('updated_at', 'DESC');
return $this->applyScopes($myModel);
}
Mais vous devrez définir le paramètre commandable sur false dans la fonction colonnes.
Si vous utilisez en tant que service, dans la méthode html(), sur le tableau des paramètres, utilisez
/** * Optional method if you want to use html builder. * * <strong i="7">@return</strong> \Yajra\Datatables\Html\Builder */ public function html() { return $this->builder() ->columns($this->getColumns()) ->parameters([ 'order' => [ 0, // here is the column number 'desc' ] ]);
merci frère ça marche
si vous voulez obtenir le code, répondez-moi svp
@rafaelqm Que diriez-vous de commander une colonne brute ?
@rafaelqm Que diriez-vous de commander une colonne brute ?
@RayhanYulanda voulez-vous dire que vous avez une requête brute ? Parce que ça marche de la même manière, il suffit de mettre le nom que vous donnez à l'alias de la colonne.
@rafaelqm Que diriez-vous de commander une colonne brute ?
@RayhanYulanda voulez-vous dire que vous avez une requête brute ? Parce que ça marche de la même manière, il suffit de mettre le nom que vous donnez à l'alias de la colonne.
Non, je veux dire la colonne brute qui génère le texte du bouton. J'ai besoin de rechercher et de commander cette colonne aussi
Commentaire le plus utile
Utilisez simplement la méthode
order
sur votre javascript comme ci-dessous. Utilisez l'index de colonne de id.