Use array syntax to define a list of scopes to apply to a model
Assuming you have scopePopular & scopeRecent as query scopes
Book::scopes(['popular', 'recent'])->get();
Add this to your model
$originalStartDate = app('Carbon\Carbon')->parse('1/30/2017'); | |
$newStartDate = app('Carbon\Carbon')->parse('2/27/2017'); | |
$difference = $originalStartDate->diffInDays($newStartDate); | |
$dates = [ | |
'2/20/2017', | |
'2/24/2017', | |
'3/6/2017', |
Use array syntax to define a list of scopes to apply to a model
Assuming you have scopePopular & scopeRecent as query scopes
Book::scopes(['popular', 'recent'])->get();
Add this to your model
@role
Blade Directive For Laravel SparkAssumes you're using teams
Add this to the boot()
method of your AppServiceProvider
\Blade::directive('role', function($roles) {
$user = auth()->user();
Automatically limit your models to the current team
So you're using spark, and you have teams enabled. You start creating models and want to have them be team specific. Instead of writing, Model::where('team_id', auth()->user()->currentTeam->id)->get();
use this trait to add that behind the scenes so that every time you call on your model, it's assumed that you mean for the current team.
This assumes that the model has a team_id
, while it adds a scope of where team_id = currentTeam->id
.
Note: Implicit Route Model Binding in 5.2, auth session doesn't exist at the point of this trait causing issue. fixed in 5.3
Makes it simple to use Spark's role feature on routes
Route::group(['middleware'=>'role:owner'], function(){
// owners only
});
Route::group(['middleware'=>'role:member'], function(){
add to your user model
public function teamMembers($role='member')
{
return $this->currentTeam
->users()
Makes 5 users each with 1 team that has 5 members
Add a team factory to database/factories/ModelFactory.php
$factory->define(App\Team::class, function (Faker\Generator $faker) {
return [
'name' => $faker->sentence,
@plan
Blade Directive For Laravel SparkWorks with user & team billing
Add this to the boot()
method of your AppServiceProvider
\Blade::directive('plan', function($plans) {
$model = auth()->user();
notification
Helper For Laravel SparkThe method assumes the current authenticated user, so you only need to pass the message
function notification($message)
{
$notification = app('Laravel\Spark\Contracts\Repositories\NotificationRepository');
return $notification->create(auth()->user(), $message);