-
Install via composer.
composer require laragen/laragen --dev
-
Add
LaragenServiceProvider
toapp/Providers/AppServiceProvider.php
.if ($this->app->environment('local')) { $this->app->register(\Laragen\Laragen\LaragenServiceProvider::class); }
-
Publish config files.
php artisan vendor:publish --tag=laragen.config
```bash
php artisan laragen:model User
php artisan laragen:model --all
php artisan laragen:api User
php artisan laragen:api User --model --actions=index,view
php artisan laragen:channel Sms
php artisan laragen:channel Sms --message=mobile,content
php artisan laragen:message Sms
php artisan laragen:message Sms --attributes=mobie,content
```
return [
'model' => [
'path' => 'Models', // path after `app/`
'soft_delete' => true, //add deleted_at for $dates
'traits' => [], // traits for model
'parent_class' => 'Illuminate\Database\Eloquent\Model',
'ignore_admin_tables' => true, //ignore admin tables generated by laravel-admin plugin
'ignore_tables' => ['jobs', 'migrations', 'notifications'], //ignore system tables
'morph_many' => [ //see https://laravel.com/docs/5.4/eloquent-relationships# polymorphic-relations
'Comment' => ['News', 'Post'],
'Like' => ['News', 'Post'],
],
],
'api' => [
'path' => 'Api', // path after `app/Controllers/`
'version' => 1, // real path is `app/Controllers/{path}/V{version}`
'parent_class' => 'App\Http\Controllers\Controller',
],
];
- Generate Eloquent Model Class.
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\Relations\MorphMany; use Illuminate\Database\Eloquent\Relations\MorphTo; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Notifications\Notifiable; class Comment extends Model { use SoftDeletes; public $fillable = ['user_id', 'content', 'commentable_id', 'commentable_type']; public $casts = []; public $appends = []; public $dates = ['deleted_at']; /** * Get user * @return BelongsTo */ public function user(): BelongsTo { return $this->belongsTo(User::class); } /** * Get commentable model * @return MorphTo */ public function commentable(): MorphTo { return $this->morphTo(); } }