Please enable JavaScript.
Coggle requires JavaScript to display documents.
Laravel (Command (clear (php artisan cache:clear, php artisan config:clear…
Laravel
-
Plugin & Library
-
Databases, Migrations & Seeding
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Research
How to change a model database connection within controller
-
-
-
-
-
Project
-
eQuery
Requirement
-
-
-
-
logs event (create, update, delete)
-
-
Eloquent ORM
Many To Many
กลุ่มต่อกลุ่ม เช่น ผู้ใช้งานมีได้หลายสิทธิ์,แต่ละสิทธ์ก็มีได้ในผู้ใช้หลายคน
- $this->belongsToMany('App\Role');
- App\User::find(1); foreach ($user->roles as $role) {}
- App\User::find(1)->roles()->orderBy('name')->get();
ปกติตารางที่ใช้เชื่อมระหว่าง model user และ model role ก็จะเป็น role_user (Eloquent will join the two related model names in alphabetical order) หากไม่ใช่ก็สามารถระบุได้
- $this->belongsToMany('App\Role', 'role_user');
- $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');
หากเข้าถึงผ่าน Model Role
- $this->belongsToMany('App\User');
hasOne
ผู้ใช้งานหนึ่งคนมีโทรศัพท์หนึ่งเครื่อง
- $this->hasOne('Phone');
- $this->hasOne('App\Phone', 'foreign_key');
- $this->hasOne('App\Phone', 'foreign_key', 'local_key');
- $phone = User::find(1)->phone()->first();
ถ้าเราเอาคีย์เชิ่อมไปวางไว้ที่ตารางไหน ตารางที่เอาไปวางไว้นั้นก็ต้องวาง belongs_to ไว้ เพื่อบอกว่า phone สังกัดอยู่กับ user
- $this->belongsTo('App\User');
- $this->belongsTo('App\User', 'foreign_key'); || ในการณี้ foreign key ไม่ใช่ user_id
- $this->belongsTo('App\User', 'foreign_key', 'other_key'); || ตาราง users Primary Key ไม่ใช่ id
- Phone::find(1)->user()->first()->email;
- Phone::find(1)->user->email;
hasMany
1-ต่อ-กลุ่ม
- $this->hasMany('App\Comment');
- App\Post::find(1)->comments;
- App\Post::find(1)->comments()->where('title', 'foo')->first();
การเข้าถึง Post ผ่าน Model Comment
- $this->belongsTo('App\Post');
-
-