【发布时间】:2018-09-07 04:56:21
【问题描述】:
我有一个奇怪的问题。我将控制器中的 ID 传递到函数文件中,以便在查询中使用它。传递 ID 有效,我已将其丢弃以确保它是我期望的实际 ID,并且确实如此。
问题是,当我在我的 sql 中添加 where 子句时,实际上只更改了一行,我得到了错误:
Parse error: syntax error, unexpected '$result' (T_VARIABLE), expecting function (T_FUNCTION)
这是工作版本(尽管显然这是一个广泛的查询)
public function grabList(int $id)
{
$sql = "
SELECT *
FROM schemaTest.List L
INNER JOIN schemaTest.user u
ON l.user_id = u.ID
";
}
$result = DB::connection('odbc')->select(DB::raw($sql));
return $result;
}
但是当我添加使用传递给函数的 ID 的 where 子句时,我得到了错误。
public function grabList(int $id)
{
$sql = "
SELECT *
FROM schemaTest.List L
INNER JOIN schemaTest.user u
ON l.user_id = u.ID
WHERE u.ID = {$id}
";
}
$result = DB::connection('odbc')->select(DB::raw($sql));
return $result;
}
我假设这是因为我用来尝试在查询中使用函数参数的语法。有什么想法吗?
【问题讨论】:
-
为什么要在函数外返回
$result? -
如果你使用 laravel,你为什么要使用
RAWsql 查询?那么使用框架有什么意义呢。我建议你使用雄辩的。这里是官方文档laravel.com/docs/5.6/eloquent关于如何使用so