0
ローカル変数とループを含むクエリを実行しようとしています。 しかし、Fusio/Doctrineは実行時に空の/エラーを返します。Doctrine - Fusioで宣言とループを使ってsqlクエリを実行
例(空の結果またはブール):
$sum = $connection->fetchAll("declare @dateFrom DATETIME=CONVERT(DATE, DATEADD(d, -(DAY(DATEADD(m, -1, GETDATE() - 2))), DATEADD(m, -1, GETDATE() - 1)));
declare @dateTo DATETIME=CONVERT(DATE, DATEADD(d, -(DAY(GETDATE())), GETDATE()));
declare @dateFromtmp [email protected];
declare @tmpDate table(Dates DATETIME);
WHILE (@dateFromtmp <= @dateTo)
BEGIN
insert into @tmpDate values(@dateFromtmp)
SET @dateFromtmp = DATEADD(DAY,1,@dateFromtmp)
END;
SELECT @dateFrom;
");
$type = "is " . gettype($sum);
$count = count($sum);
return $response->build(200, [], [
'type'=>$type,
'count'=>$count,
'summary' => $sum,
]);
戻り値:
{
"type": "is array",
"count": 0,
"summary": []
}
クエリの下に実行する問題がない。
$sum = $connection->fetchColumn("declare @dateFrom DATETIME=CONVERT(DATE, DATEADD(d, -(DAY(DATEADD(m, -1, GETDATE() - 2))), DATEADD(m, -1, GETDATE() - 1)));
declare @dateTo DATETIME=CONVERT(DATE, DATEADD(d, -(DAY(GETDATE())), GETDATE()));
declare @dateFromtmp [email protected];
declare @tmpDate table(Dates DATETIME);
SELECT @dateFrom;
");
$type = "is " . gettype($sum);
$count = count($sum);
return $response->build(200, [], [
'type'=>$type,
'count'=>$count,
'summary' => $sum,
]);
リターン:
{
"type": "is string",
"count": 1,
"summary": "2017-08-01 00:00:00.000"
}
これはループに関連していると思われます。 Fusioでこのクエリを実行する方法はありますか?
おかげ