我将一个旧的应用程序更新为php
,其中一个疯狂的事情就是将一个SLQ语句保存在数据库中的一个函数......就像
field1(SearchOrderLetterID),field2(ShortName),field3(SQLstatement) 1
当我要执行sql时,我收到下一个错误" 无法访问空白属性"
查询示例:
SELECT CONVERT(VARCHAR(10),ClosingDate,101)
FROM dbo.Orders WHERE OrderID = @OrderID
这是我的代码
public function getGenerateLetter($letterID, $orderID) {
$letterFields = SearchOrderLetterParameter::where('SearchOrderLetterID', $letterID)->get();
foreach($letterFields as $letterField) {
$key = str_replace('##', '', $letterField->ShortName);
if(preg_match('/@OrderID/', $letterField->SQLstatement))
$query = str_replace('@OrderID', $orderID, $letterField->SQLstatement);
$data[$key] = DB::select(DB::raw($query)); //here I'm getting the error
}
}
DB中的每一行都有不同的SQL语句
如何获取查询结果?
答案 0 :(得分:0)
您应该为此表达式提供别名
CONVERT(VARCHAR(10),ClosingDate,101)
以这种方式:
CONVERT(VARCHAR(10),ClosingDate,101) AS ClosingDate