小编ded*_*ede的帖子

使用查询生成器或Eloquent加入附加条件

我正在尝试使用Laravel查询生成器的JOIN查询添加条件.

<?php

$results = DB::select('
       SELECT DISTINCT 
          *
          FROM 
             rooms 
                LEFT JOIN bookings  
                   ON rooms.id = bookings.room_type_id
                  AND (  bookings.arrival between ? and ?
                      OR bookings.departure between ? and ? )
          WHERE
                bookings.room_type_id IS NULL
          LIMIT 20',
    array('2012-05-01', '2012-05-10', '2012-05-01', '2012-05-10')
);
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用Raw表达式,但之后会有SQL注入点.我已经尝试了以下查询生成器,但生成的查询(显然,查询结果)不是我想要的:

$results = DB::table('rooms')
    ->distinct()
    ->leftJoin('bookings', function ($join) {
        $join->on('rooms.id', '=', 'bookings.room_type_id');
    })
    ->whereBetween('arrival', array('2012-05-01', '2012-05-10'))
    ->whereBetween('departure', array('2012-05-01', '2012-05-10'))
    ->where('bookings.room_type_id', '=', null)
    ->get();
Run Code Online (Sandbox Code Playgroud)

这是Laravel生成的查询:

select distinct * from `room_type_info`
    left join `bookings` 
on `room_type_info`.`id` = `bookings`.`room_type_id` …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-4 laravel-query-builder

72
推荐指数
6
解决办法
12万
查看次数

帮助SQL查询

我被困在试图解决这个问题一天了.我甚至放弃了一段时间,因为我是一个PHP新手,我需要帮助.

这是我的问题:我有一个查询,在表'酒店'中选择所有适当的记录,然后每个酒店在表'scheduled_rooms'中查找某种类型的预订房间,并在一段时间内查找所有这些.首先,我根据搜索表单提供的位置从'hotel_table'中取出所有hotel_ids,并且每个hotel_id我都会循环访问'booked_rooms'表.

这是代码:

if(isset($_GET['book'])){
$sql=mysql_query("SELECT hotel_id FROM 'hotels' WHERE city='$city") or   die(mysql_error());
while($row=mysql_fetch_array($sql)){
   $sql_2=mysql_query("SELECT * FROM `booked_rooms` WHERE hotel_id='$hotel_id'
   AND   arrival_date BETWEEN '$arrival_date' AND '$departure_date'
   OR departure_date BETWEEN '$arrival_date' AND '$departure_date'")
or die(mysql_error()); 
}

while($row_2=mysql_fetch_array($sql_2)){
   print_r($row_2);
}

}
// $city, $arrival_date and $departure date are values retrieved from the search form
Run Code Online (Sandbox Code Playgroud)

问题是,我通过'hotel'表获得了一个循环并获得了适合该位置的所有hotel_ids,但是打印$ row_2数组却没有任何结果.我尝试在SQL,'foreach'循环中使用JOINS,但也没有运气.我知道这是一个微不足道的问题,但我还在学习,所以任何提示都受到高度欢迎.提前致谢.

php mysql

1
推荐指数
1
解决办法
204
查看次数

使用JavaScript将输入字段文本插入textarea

我需要将输入字段中的文本/字符串插入到已经包含一些文本的文本区域中.插入的字符串必须位于光标的位置,并且需要一个用于插入的按钮.

有没有办法用JavaScript完成这个?

Thx提前

PS应该插入的文本/字符串是使用PHP从数据库中获取的

javascript php

1
推荐指数
1
解决办法
4327
查看次数