lumen 如何执行 原生sql 语句
在lumen 中对数据库进行查询 由于条件过多判断 采取使用原生sql
如下
public static function getAllNewsList($userId,$newId,$companyId,$communityId){
$sql = "SELECT * FROM notices";
$where = "WHERE addressee= :userId";
if($newId) $where .= "or id> :newId";
if($companyId) $where .= "or addressee= :companyId";
if($communityId) $where .= "or addressee= :communityId";
$query = $sql.$where;
$res =NewNotice::select($query, ['userId' => $userId,'companyId' => $companyId,'communityId' => $communityId]);
dd($res);
}
但是结果不同于select(..)->get();
该如何处理啊
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
按你这段代码, 是会报错的. sql各元素之间缺少空格.
使用DB::table($table)->select('*')->where($column)->get(); 这种build方式吧.
或者 DB::connection()->getPdo(), 使用PDO执行.
经修改 NewNotice:: 该为BD::
新增
`
public static function getAllNewsList($userId,$newId,$companyId,$communityId){