XÂY DỰNG TRANG QUẢN TRỊ LARAVEL 9 VỚI LARAVEL-ADMIN BẰNG DEMO 1 TRANG BLOG CÁ NHÂN PHẦN 10 : Rules trong laravel admin và quan hệ many to many
1 Rule unique
Trong quản trị admin đôi khi chúng ta cần đảm bảo 1 collums chỉ cho tồn tại 1 giá trị :
Dưới đây là code demo tạo đường dẫn của post
$form->text('slug', __('Đường dẫn'))->rules(function ($form){
                if (!$form->model()->id) {
                    return 'unique:posts,slug';
                }else{
                    return  'unique:posts,slug,'.$form->model()->id;
                }
            });
2 Many to Many
Dưới đây chúng ta có 1 demo mối quan hệ giữa các bảng
tags
    id-integer
    name-string
posts
    id-integer
    name-string
post_tag
    post_id-integer
    tag_id-integer
Dưới đây là code model
class Post extends Model
{
    public function tags(){
        return $this->belongsToMany(Tag::class,'post_tag','post_id','tag_id');
    }
}
class Tag extends Model
{
    public function posts(){
        return $this->belongsToMany(Post::class,'post_tag','tag_id','post_id');
    }
}
Trong laravel-admin có 2 thành phần là multipleSelect và checkbox hỗ trợ model many to many
Cách dùng multipleSelect
$form = new Form(new Post);
$form->multipleSelect('tags','Tags')->options(Tag::all()->pluck('name','id'));
Cách dùng với checkbox
$form = new Form(new Post);
$form->checkbox('tags','Tags')->options(Tag::all()->pluck('name','id'));
                     
                                    
                 
                 
                 
                