Yazilimi kullanan arkadaslardan birinin uyari sonucunda yaptigim islemin dogru calismadigi ogrendim. Yani islemlerim bana bir sonuc donduruyor fakat istedigim kriterlerde degil. Tablo yapimi anlatiyorum.
customers:
-id
-author_id
-updater_id
posts:
-id
-name
customers_posts:
-id
-customer_id
-post_id
Bir musterinin gonderilerini
public function posts(){
return $this->belongsToMany('App\Post', 'customers_posts');
}
seklinde $customer->posts()->get() dedigim zaman alabiliyorum. Lakin, 1,2,3,4,5...,15,16 seklinde post basliklarim var. 'X' kullanicisinin ekledigi veya guncelledigi 'Y' post numarasina sahip musterileri cekmeye calistigimda sikinti yasiyorum.
Kullandigim scope su sekilde:
public function scopeSearchPost($query, $post){
$pivot = $this->posts()->getTable();
if ($post) $query->whereHas('posts', function ($q) use ($post, $pivot) {
$q->where("{$pivot}.post_id", '=', $post);
});
}
Kullanma seklim de soyle:
$customers = $this->customer->searchPost(6)->where('author_id', '=', '5')->orWhere('updater_id', '=', '5')->orderBy('id', 'asc')->get();
Nerede hata yapiyorum?