动态列(顺序,名称,数量限制),在PHP,Laravel,MySQL中

6tr1vspr  于 2023-01-21  发布在  PHP
关注(0)|答案(1)|浏览(102)

我有一个建议性问题,我需要构建具有动态列顺序、名称的表,并给予用户能够添加新列(最多6个)。在Laravel 8 with MySQL DB中做这些事情的最佳方法是什么。我的第一个想法是添加另一个与此表相关的表(一个用于订单,一个用于新名称,一个用于新列)但仍然错过了东西,我认为这个想法有问题。如果有人能帮忙的话。

z31licg0

z31licg01#

要在PHP、Laravel和MySQL中创建动态列(order、name、number with limit),您可以使用Eloquent并使用动态列集查询数据库。
在控制器中,定义一个变量来保存要检索的列:

$columns = ['name', 'order', 'number'];

使用Eloquent select方法从数据库中选择列:
$data =模型::选择($列)-〉get();如果要对检索的记录数应用限制,可以使用take方法:

$data = Model::select($columns)->take(10)->get();

如果要按特定列对结果进行排序,可以使用orderBy方法:

$data = Model::select($columns)->orderBy('order', 'asc')->get();

如果要按特定条件筛选结果,可以使用where方法:

$data = Model::select($columns)->where('number', '>', 5)->get();

您可以将所有这些方法链接在一起,以创建更复杂的查询:

$data = Model::select($columns)->where('number', '>', 5)->orderBy('order', 'asc')->take(10)->get();

请记住,您可以使用任何列名来代替“名称”、“顺序”和“编号”,只要它们存在于您的数据库表中,并且您还应该使用您的数据库的表名来代替模型。

相关问题