Skip to content

Instantly share code, notes, and snippets.

View palypster's full-sized avatar

Pavol Perdík palypster

View GitHub Profile
<?php
/** @var \App\ExtendedFactory $factory */
use App\User;
use App\Category;
use App\Project;
use Faker\Generator as Faker;
$factory->define(Task::class, function (Faker $faker) {
<?php
namespace App;
use Illuminate\Database\Eloquent\Factory;
class ExtendedFactory extends Factory {
/**
* The registered after creating callbacks.
@palypster
palypster / AppServiceProvider.php
Created March 14, 2020 14:06
Introducing beforeCreating
<?php
namespace App\Providers;
use App\ExtendedFactory;
use Faker\Generator as FakerGenerator;
use Illuminate\Database\Eloquent\Factory as EloquentFactory;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
<?php
use App\Client;
use App\Project;
use Faker\Generator as Faker;
$factory->define(Project::class, function (Faker $faker) {
return [
'title' => $faker->sentence,
];
@palypster
palypster / ProjectFactory.php
Last active March 14, 2020 12:34
Cascading Laravel Factories - Cascading Factory with states
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\Client;
use App\Project;
use Faker\Generator as Faker;
$factory->define(Project::class, function (Faker $faker) {
return [
@palypster
palypster / ProjectFactory.php
Created March 14, 2020 12:02
Cascading Laravel Factories - Cascading Factory
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\Client;
use App\Project;
use Faker\Generator as Faker;
$factory->define(Project::class, function (Faker $faker) {
return [
@palypster
palypster / Client.php
Created March 14, 2020 11:50
Cascading Laravel Factories - Models
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Client extends Model
{
public function projects() : HasMany
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Contract extends Model
{
public $timestamps = false;