मैं अधिसूचना के लिए टास्क शेड्यूलिंग का उपयोग कर रहा हूं अब मुझे वर्क परमिट टेबल से सभी सूचनाएं मिल रही हैं, लेकिन मुझे एक अधिसूचना चाहिए कि तारीख अगले सप्ताह समाप्त होने वाली है, कृपया मेरी मदद करें कि मैं यह कैसे कर सकता हूं? धन्यवाद।

वर्क परमिट तालिका

आईडी | नाम | परमिट_कोड | दिनांक

सूचना तालिका

आईडी | परमिट_आईडी

ऐप/कंसोल/कमांड/क्रिएटपर्मिटवर्क

class CreatePermitWork extends Command
{
  /**
   * The name and signature of the console command.
   *
   * @var string
   */
  protected $signature = 'notifications:create';

  /**
   * The console command description.
   *
   * @var string
   */
  protected $description = 'Permit work notification added !';

  /**
   * Create a new command instance.
   *
   * @return void
   */
  public function __construct()
  {
    parent::__construct();
  }

  /**
   * Execute the console command.
   *
   * @return int
   */
  public function handle()
  {
    $workpermits = WorkPermit::all();
        
    foreach ($workpermits as  $permit) {
      $ids =  array(['permit_id' => $permit->id]);
      $this->info("inserting data ".$permit->name);
      FacadesDB::table('work_permit_notifications')->insert($ids);
    }
  }
}
1
zubair malik 19 जिंदा 2021, 10:10

2 जवाब

सबसे बढ़िया उत्तर
$workpermits = WorkPermit::all();

आपको सभी वर्क परमिट देंगे

$workpermits = WorkPermit::where('date', '<', now()->addDays(7))->get();

आपको ऐसे वर्क परमिट देंगे जिनकी तारीख अब से 7 दिनों से छोटी है।

आप foreach को सरल भी बना सकते हैं और संग्रह उदाहरण का उपयोग कर सकते हैं

WorkPermit::where('date', '<', now()->addDays(7))
  ->get()
  ->each(function ($workpermit) {
        DB::table('work_permit_notifications')->insert($workPermit->id);
    });
2
Devin Gray 19 जिंदा 2021, 10:36

आपको ये रिकॉर्ड पहले प्राप्त करने होंगे
$havoToNotif = YourModel::where('date','<',Carbon::now()->addDays(7))->get();

2
Hamid 19 जिंदा 2021, 10:29