PHP code example of neelkanthk / laravel-schedulable
1. Go to this page and download the library: Download neelkanthk/laravel-schedulable library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
neelkanthk / laravel-schedulable example snippets
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddScheduleAtColumnInPosts extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('posts', function (Blueprint $table) {
$table->scheduleAt(); //Using default schedule_at column
//or
$table->timestamp('publish_at', 0)->nullable(); //Using custom column name
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('posts', function (Blueprint $table) {
$table->dropColumn('schedule_at'); //Using default schedule_at column
//or
$table->dropColumn('publish_at'); //Using custom column name
});
}
}
use Illuminate\Database\Eloquent\Model;
use Neelkanth\Laravel\Schedulable\Traits\Schedulable;
class Post extends Model
{
use Schedulable;
const SCHEDULE_AT = "publish_at"; //Specify the custom column name
}
$scheduleAt = Carbon::now()->addDays(10); //Carbon is just an example. You can pass any object which is implementing DateTimeInterface.
$post = new App\Post();
//Add values to other attributes
$post->scheduleWithoutSaving($scheduleAt); // Modifies the schedule_at attribute and returns the current model object without saving it.
$post->schedule($scheduleAt); //Saves the model in the database and returns boolean true or false
$post = App\Post::find(1);
$post->unscheduleWithoutSaving(); // Modifies the schedule_at attribute and returns the current model object without saving it.
$post->unschedule(); //Saves the model in the database and returns boolean true or false
namespace App\Observers;
use App\Post;
class PostObserver
{
public function scheduling(Post $post)
{
//
}
public function scheduled(Post $post)
{
//
}
public function unscheduling(Post $post)
{
//
}
public function unscheduled(Post $post)
{
//
}
}
$posts = App\Post::get();
$posts = App\Post::withScheduled()->get();
$posts = App\Post::onlyScheduled()->get();
use Neelkanth\Laravel\Schedulable\Scopes\SchedulableScope;
$posts = App\Post::withoutGlobalScope(SchedulableScope::class)->get();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.