【问题标题】:Own booking script自己的预订脚本
【发布时间】:2020-09-10 11:36:32
【问题描述】:

我正在制作自己的预订系统,但拒绝在 DB 中存储数据的主脚本无法正常工作。脚本本身:

          <?php

namespace App\Http\Controllers;
use App\Rules\Taken;
use Illuminate\Http\Request;
use App\Order;

class orderController extends Controller {


    // Create Contact Form
    public function setOrder(Request $request) {
        return view('welcome');
    }

    // Store Contact Form data
    public function order(Request $request)
    {


        $request->validate([
                'name' => [
                    'required',
                ],
                'phone' => [
                    'required',
                ],
                'orderdatestart' => [
                    'required', 'date_format:Y-m-d', new Taken(),
                ],
                'orderdateend' => [
                    'required', 'date_format:Y-m-d', 'after:orderdatestart', new Taken(),
                ]
            ]
        );




// The main script that s not working ----->


    if (Order::where([
            ['orderdatestart', '<=', $request['orderdatestart']],
            ['orderdateend', '>=', $request['orderdateend']]
        ])) {
            return "i wont let  you do this >:(";
        }else{
          
Order::create($request->all());
        }





    }
}

我有这个数据库架构

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateOrdersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('orders', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('phone');
            $table->date('orderdatestart');
            $table->date('orderdateend');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('orders');
    }
}

我什至有路线,但我认为它们没有任何问题

<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});



// Render in view
Route::get('/', [
    'uses' => 'orderController@setOrder'
]);

// Post form data
Route::post('/', [
    'uses' => 'orderController@order',
    'as' => 'order.store'
]);

我也可以展示模型

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Order extends Model
{
    public $fillable = ['name', 'phone', 'orderdatestart', 'orderdateend'];
}

我标记为主要的脚本总是显示我我不会让你这样做>:(

我需要当一位访客预订某个日期时,该日期将被阻止预订

【问题讨论】:

  • “不工作”是什么意思?您在错误消息中看到了吗?
  • 不。它总是显示我我不会让你预订这个>:(

标签: php laravel-7


【解决方案1】:

行:

if(!empty($bookedDate and $bookedDate2)){

看起来很可疑;应该是这样的:

if(!empty($bookedDate) or !empty($bookedDate2)){

如果任一日期不为空,您想拒绝预订。

【讨论】:

  • 我改了这个,现在看看,也许我做错了什么
猜你喜欢
  • 2013-01-28
  • 2014-05-22
  • 2013-05-02
  • 1970-01-01
  • 1970-01-01
  • 2016-10-08
  • 1970-01-01
  • 1970-01-01
  • 2012-11-15
相关资源
最近更新 更多