[扩展推荐] 使用 Eloquent 排序扩展包创建模型序列
Eloquent Sequencer 是 Gustavo R. Gentil 发布的软件包,用于在添加新记录时自动对模型进行排序。 该软件包使重新排序待办事项,卡片或模型列表等工作变得轻而易举。
这是自述文件中的一个示例,该示例演示了具有许多 Task
模型的任务列表:
use Gurgentil\LaravelEloquentSequencer\Traits\Sequenceable;
use Illuminate\Database\Eloquent\Model;
class Task extends Model
{
use Sequenceable;
protected static $fillable = [
'position',
];
protected static $sequenceableKeys = [
'task_list_id',
];
public function taskList()
{
return $this->belongsTo(TaskList::class);
}
}
假设您有一个用于重新排序任务的拖放界面。 您可以调用以下方法,此程序包将自动重新安排任务的顺序:
// Other items in the sequence will be rearranged
$task->update(['position' => 4]);
// Remaining tasks will be rearranged after removing a task
$task->delete();
最后,您将使用以下方法获取任务的顺序列表:
$tasks = Task::sequenced()->get();
了解更多
您可以在gurgentil/laravel-eloquent-sequencer上了解有关此软件包的更多信息,完整的安装说明并在GitHub上查看源代码。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。