ก่อนอื่นมาเริ่มกันที่ไฟล์ Models
<?php namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Article extends Model {
use $SoftDeletes;
protected $fileable = ['user_id','title','body'];
protected $table = 'table_name';
protected $dates =['created_at','deleted_at','updated_at'];
protected $hidden =['password'];
}
function Join แบบ one 2 many
public function getById($id) {
return $this->findOrfail($id);
}
public function tableJoin()
{
return $this->hasMany('App\Model\tables1','id','id');
}
public function tableJoin2()
{
return $this->hasMany('App\Model\tables2','id','id');
}
public function joinWherehas($id)
{
$this->select('id','name','lastname')
->where(function($query) use($id)) {
$query->where('id',$id);
$query->whereNull('deleted_at');
$query->whereNotIn('column',['something']);
$query->whereIn('column',['something']);
}
->whereHas('tableJoin',function($query) use($param){
$query->where('id','<=',100);
$query->whereExists(function($query) use($param){
$query->where('id','>=',5)
});
})
->with(['tableJoin','tableJoin2'],function($query) use($param)){
$query->where('something');
}
}
code ข้างบนผมได้รวบรวมการ query join where แบบต่าง ๆ เอามาไว้ครับ ซึ่งจะอธิบายให้ฟังทีละบรรทัดครับ

0 ความคิดเห็น:
แสดงความคิดเห็น