Fillable
By default, using Quick Models or Custom Models, Larawiz won't add as $fillable attributes that are:
- a timestamp,
- a boolean,
- a relation,
- a soft delete column,
- a column that contains the word
token, - or a primary key.
Larawiz considers these attributes as app-dependant, which saves you more keystrokes and expanding the lifetime of your keyboard, tablet or phone.
models:
# ...
Post:
title: string
slug: string
body: longText
published_at: timestamp nullable
is_commentable: boolean default:true
user: belongsTo
softDeletes: ~
2
3
4
5
6
7
8
9
10
11
class Post extends Model
{
protected $fillable = ['title', 'slug', 'body'];
// ...
}
2
3
4
5
6
Timestamps are NOT fillable. Period.
Note that the published_at wasn't included in the $fillable array because is a timestamp. If you want it fillable, you can always use datetime, date or time, but be wary of the query constraints on these column types.
models:
Post:
# ...
publised_at: datetime nullable
2
3
4
class Post extends Model
{
protected $fillable = [
// ...
'published_at'
];
}
2
3
4
5
6
7
Overriding the fillable attributes
To override the fillable attributes, use the fillable key with the list of fillable properties. Larawiz won't check if the fillable attribute exist, so you can go full manual.
In this example, we will set the title, body and published_at columns for the Model, since we plan to automatically create the slug from the title itself after we receive our scaffolded app, and the published_at will allow to publish something into the future.
models:
Post:
title: string
slug: string
body: longText
published_at: timestamp nullable
user: belongsTo
softDeletes: ~
fillable:
- title
- body
- published_at
2
3
4
5
6
7
8
9
10
11
12
13
class Post extends Model
{
protected $fillable = ['title', 'body', 'published_at'];
// ...
}
2
3
4
5
6
No fillable attributes
If you have no plans to have fillable attributes, you can set the fillable property to false.
models:
Post:
title: string
slug: string
body: longText
published_at: timestamp nullable
user: belongsTo
softDeletes: ~
fillable: false
2
3
4
5
6
7
8
9
10