0

ユーザーがアイテムをレンタルできるサイトを作成しています。私は2つのテーブルを持っています。レンタルと在庫。在庫テーブルには製品に関するすべての詳細が含まれ、レンタル テーブルには予約用の在庫 ID と開始日/終了日が含まれます。したがって、クライアントがアイテムを予約した場合、codeigniter のアクティブ レコードを使用して、彼の日付が利用可能かどうかを確認する必要があります。これを達成する方法についてのアイデア...

これが私のレンタルテーブルです...

id | customerId | productsId | periodStart (dateTime) | periodEnd (dateTime) | status

私のユーザーは、dateTime 形式 (Ymd) の日付ピッカーから開始日を選択します。

Web サイトでは、開始日に一定の日数を加算して、終了日を作成します。したがって、最終的には、顧客が希望する日付範囲が次のようになります。

$startTime = $_POST['date'];
$endTime = strtotime('+'.$periodLength.'day', $startTime);

上記のレンタル テーブルでその日付範囲が利用可能かどうかを確認するにはどうすればよいですか。私は結合に慣れていませんが、ここでは必要かもしれないと感じています。

私はいくつかのことを試しましたが、どれもうまくいきませんでした。どんなアイデアでも大歓迎です。

4

2 に答える 2

0

$ startTime = $ _POST ['date']; の代わりに $ startTime = $ this-> imput-> post ('date');

$this->load->helper('form'); を追加します。初期の方法

于 2013-03-25T07:57:49.150 に答える
0

あなたはそのようなものを使うかもしれません

    $this->db->where('start_date >=', $startTime );
    $this->db->where('end_date <=', $endTime);
    $count= $this->db->count_all_results('rentals');
    if($count > something)   //your business logic here
        return true;
    else 
        return false

私が正しければ、結合は必要ありません。また、id などの他の where 句を追加することもできます。

于 2013-02-20T02:23:00.183 に答える