將 SQL 中的函數占位符 {function:params} 識別並替換為相應的結果
$sql = "SELECT * FROM users
WHERE created_at >= {date:Y-m-d H:i:s,strtotime:value:first day of last month}
AND created_at < {date:Y-m-d H:i:s,strtotime:first day of this month}
";
$queryBindngs = (new FunctionStrService)->parseAndReplaceFunctionsFromSql($sql);
DB::select(data_get($queryBindngs, 'query'), data_get($queryBindngs, 'params', []));
// output:
// SELECT * FROM users WHERE created_at >= '2024-11-01 07:54:34' AND created_at < '2024-12-01 07:54:34'
多個 params 可以使用 {function1:param1,param2,function2:param3,param4,...}