php - 将原始 sql 转换为 laravel 查询生成器
问题描述
我需要帮助将此查询转换为 laravel 查询。
$sql = "SELECT*FROM `shelf` WHERE(column1 = '$col1' OR column2 = '$col1' OR column3 = '$col1' OR column4 = '$col1' OR column4 = '$col1')";
$sql = $sql."AND(column1 = '$col2' OR column2= '$col2' OR column3= '$col2' OR column4= '$col2' OR column5= '$col2')";
$sql = $sql."AND(column1 = '$col3' OR column2 = '$col3' OR column3 = '$col3' OR column4 = '$col3' OR column5 = '$col3')";
解决方案
这是一个奇怪的查询,但在 laravel 中它看起来像这样:
\DB::table('shelf')->where(function($query) use ($col1){
$query->where('column1', $col1)->orWhere('column2', $col1)->orWhere('column3', $col1)->orWhere('column4', $col1)->orWhere('column5', $col1);
})->where(function($query) use ($col2){
$query->where('column1', $col2)->orWhere('column2', $col2)->orWhere('column3', $col2)->orWhere('column4', $col2)->orWhere('column5', $col2);
})->where(function($query) use ($col3){
$query->where('column1', $col3)->orWhere('column2', $col3)->orWhere('column3', $col3)->orWhere('column4', $col3)->orWhere('column5', $col3);
})->get();
推荐阅读
- javascript - 当我真正想要的是“对象”类型时,属性不存在 - Angular2+
- c# - 如何在clickonce中隐藏“启动应用程序”对话框
- excel - Excel - 根据匹配值复制粘贴值
- android - 自定义视图 onTouch 没有响应
- arrays - 根据内部数组条件查找数组中的项
- r - 使用分类变量在 R 中执行 T 检验
- excel - 我想按特定字符之前的名称对 excel 中的列进行排序
- java - 在 Java Web 应用程序中将 avro 文件转换为 csv
- c# - 如何在 wpf 中使用棱镜打开新的模态对话框
- r - 如果时间过长,如何使用 withTimeout 函数中断表达式