вычтите 30 минут из текущей даты в основной php - PullRequest
0 голосов
/ 24 октября 2018

Мне нужно вычесть 30 минут из текущей даты, я пытаюсь выполнить это как cronjob для выполнения cronjob проекта каждые 5 минут, и он выполняется. Мне не нужен тот запрос

, который я использовал

use Carbon\Carbon;

$query1=mysqli_query($con,"select bookings.id as b_id,stocks.* 
                            from bookings,stocks  
                            where bookings.chasis_no=stocks.frame_no 
                            and stocks.stock_status=3 
                            and stocks.status=0 
                            and bookings.status=0 
                            and bookings.created_at <= Carbon::now()->subMiutes(10)") 
        or die("Query failed:".mysqli_error($con)); 

Cronjob

*/5 * * * * /usr/bin/php /var/www/html/amhonda/public/booking_cancel.php

Ответы [ 3 ]

0 голосов
/ 24 октября 2018

Чтобы вычесть 30 минут из текущего времени в PHP, вы можете сделать:

echo date('Y-m-d H:i:s', strtotime('-30 minutes'));
0 голосов
/ 25 октября 2018

Я пытался сделать это в приложении laravel, но schedular не работает, поэтому я пытаюсь сделать это в основном php с in laravel, но разобрался с помощью laravel с помощью wget в cron

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Admin\Stock;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Facades\Excel;
use Carbon\Carbon;

class CroneController extends Controller
{
   public function booking_status_3in_hour()//for cron,executing after every one hour
       {
               $new = Carbon::now()->subHours(1)->toDateTimeString();

              // return $new;
              // $current_time = Carbon::now()->toDateTimeString();
              $data=DB::table('bookings')
              ->select('bookings.id as b_id', 'stocks.*')
              ->join('stocks', 'stocks.frame_no', '=', 'bookings.chasis_no')
              ->where([['stocks.stock_status','=','3'],['stocks.status','=','0']])
              ->where([['bookings.status','0'],['bookings.created_at','<=',Carbon::now()->subMinutes(10)]])->get();
     // return $data;
         if($data)
         {
             foreach ($data as $value)
             { 
                // return $value->id;
                 DB::table('stocks')
                 ->where('id', $value->id)
                 ->update([
                     'status'=>'-1']
                 );
                 DB::table('bookings')
                 ->where('id', $value->b_id)
                 ->update([
                     'status'=>'-1',
                     'cancel_remark'=>'Cancel due to no payment'
                 ]
                 );
                 DB::table('stocks')->insert(
                    array(

                     'frame_no'   =>   $value->frame_no,
                     'engine_no'   =>   $value->engine_no,
                     'free_service_coupen_no'   =>   $value->free_service_coupen_no,
                     'physical_status'   =>   $value->physical_status,
                     'model_variant'   =>   $value->model_variant,
                     'model_name'   =>   $value->model_name,
                     'product_name'   =>   $value->product_name,
                     'color'   =>   $value->color,
                     'manufacturing_date'   =>   $value->manufacturing_date,
                     'model_code'   =>   $value->model_code,
                     'color_code'   =>   $value->color_code,
                     'stock_status'   =>  '0',
                     'transfer_remarks'   =>   $value->transfer_remarks,
                     'transfer_time'   =>   $value->transfer_time,
                     'transfer_type'   =>   $value->transfer_type,
                     'stock_location'   =>   $value->stock_location,
                     'created_user'   =>   $value->created_user
                 )
                );

             }
             // $this->booking canceled
         }

     }



}

cron

*/5 * * * * wget http://000.000.000.0:000/booking_status_3in_hour
0 голосов
/ 24 октября 2018

Вы не получаете значение даты из carbon, вы жестко кодируете вызов функции в запросе.Так что конкатенация результатов углеродного вызова с запросом, подобным этому, например,

use Carbon\Carbon;

$query1=mysqli_query($con,"select bookings.id as b_id,stocks.* 
                        from bookings,stocks  
                        where bookings.chasis_no=stocks.frame_no 
                        and stocks.stock_status=3 
                        and stocks.status=0 
                        and bookings.status=0 
                        and bookings.created_at <= '" . Carbon::now()->subMinutes(10) ."'") 
    or die("Query failed:".mysqli_error($con)); 

Также обратите внимание, что я исправил опечатку в углеродном вызове

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...