gpt4 book ai didi

laravel - 如何在 Laravel 5.3 中进行动态查询?

转载 作者:行者123 更新时间:2023-12-04 14:24:17 25 4
gpt4 key购买 nike

我到底想做的是,我想根据请求的参数在 laravel 5.3 中进行动态查询,因此在请求中,我将获取列名,然后对该查询进行过滤,但我不知道要从中处理数据的表。
所以,我的问题是如何决定该查询的表?
或者我应该将表和相应的列存储在一个数据库的表中,并将请求的参数与该表匹配,以便我获得表名并能够放入该查询?

但我认为这会花费我的处理费用?所以这就是我发布这个问题的原因。请帮助我找到适合我的动态查询要求的最佳方案?

更新

请求将是这样的

{
"col": ['fname', 'lname'],
"offset": 1,
"limit": 25,
"order": [ASC, fname, lname],
"filter": [
{
"col": "id",
"op": "=",
"val": 8
}
]
}

所以这是我的请求,表名和相关列在一张表中。

最佳答案

只需使用 query builders .

$query = DB::table($tableName);

// ...some logic...

foreach ($filters as $filter) {
$query->where($filter['col'], $filter['op'], $filter['val']);
}

// ...more logic...

if (isset($limit)) {
$query->limit($limit);
}

if (isset($columns)) {
// get desired columns
$records = $query->get($columns);
} else {
$records = $query->get();
}

关于laravel - 如何在 Laravel 5.3 中进行动态查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41316909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com