[Laravel เทคนิคการ Query ORM แบบต่าง v.1 ] #แบ่งปัน #เทคนนิคจำเพราะ


ก่อนอื่นมาเริ่มกันที่ไฟล์ 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 แบบต่าง ๆ เอามาไว้ครับ ซึ่งจะอธิบายให้ฟังทีละบรรทัดครับ
Share on Google Plus

About maxcom

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

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

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