php - Laravel 原始查询 - 运行此查询不会选择 id

标签 php mysql laravel

我正在尝试运行此查询,但它找不到 events.id,它实际上返回字符串“events.id”。

 $events = \DB::select(\DB::raw("select 'events.id', `publish_date`, `event_name`, `information`, `latitude`, `longitude`, 111.045 * DEGREES(ACOS(COS(RADIANS(?))
                  * COS(RADIANS(`latitude`))
                  * COS(RADIANS(`longitude`) - RADIANS(?))
                  + SIN(RADIANS(?))
                  * SIN(RADIANS(`latitude`))))
                  AS `distance_in_km`
                  FROM `events` as `tbl`
                  where (`publish_date` between ? and ?)
                  and (`event_name` like ? or `information` like ?)
                  and (`paid` = 1)
                  having (`distance_in_km` <= ?)
                  ORDER BY `distance_in_km` ASC
                  LIMIT ?,?"), array($lat, $lng, $lat, $date_from, $date_to, $search_term, $search_term, $distance, $page, intval($page)+20));

这是我运行时的响应

"return dd($events)"

array:14 [▼
  0 => {#221 ▼
    +"events.id": "events.id"
    +"publish_date": "2017-05-31"
    +"event_name": "asdfasdfas"
    +"information": "sdfgsdfgs"
    +"latitude": 34.6921597
    +"longitude": 5.0225571
    +"distance_in_km": 1.4213115203631
  }
  1 => {#93 ▶}
  2 => {#225 ▶}
  3 => {#222 ▶}
  4 => {#224 ▶}
  5 => {#226 ▶}
  6 => {#227 ▶}
  7 => {#228 ▶}
  8 => {#229 ▶}
  9 => {#230 ▶}
  10 => {#231 ▶}
  11 => {#232 ▶}
  12 => {#233 ▶}
  13 => {#234 ▶}
]

(我需要指定表名,因为实际查询与内部联接有点不同)

最佳答案

您在 events.id 周围使用了错误的引号...

$events = \DB::select(\DB::raw("select `events.id`, `publish_date`,

您选择的是文字“events.id”。

关于php - Laravel 原始查询 - 运行此查询不会选择 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44486112/

相关文章:

mysql - 如何选择外键关系元素仅及时过去或根本不存在的行

javascript - 选择 2 ajax : preselected data in edit mode

php - 将端点作为 cron 作业运行

javascript - 如果值为空则提交 file=type(upload) 错误

php - Yii 'limit' 相关模型的范围

mysql - Rake 中止,Gemfiles 需要不同的 rake

php - 获取具有所有属性的 Laravel 模型

php - 使用 Laravel 存储日期

php - 从 1 个数据库中的 100 个表中选择

javascript - 使用 javascript 调用随机值