Giriş yapmadınız.

#1 09.02.2013 01:22:01

Echo
Üye
Kayıtlı: 30.12.2012
Mesajlar: 51
Website

Fluent Join sorunsalı

Merhaba,

Fluent ile JOIN methodu kullanıyorum ama bir sorun var.

Bu kod parçasının sonucu

DB::table(static::$table)
                            ->join('users', 'users.id', '=', 'company_project.user_id')
                            ->join('companies', function($join) {
                                $join->on('companies.id', '=', static::$id);
                                $join->on('companies.name', 'LIKE', '%app%');
                            })->get()
SELECT * FROM  `company_project` 
INNER JOIN  `users` ON  `users`.`id` =  `company_project`.`user_id` 
INNER JOIN  `companies` ON `companies`.`id` =  `company_id` 
AND  `companies`.`name` LIKE  `%app%`

Olarak dönüyor. Kod hata veriyor çünkü

`%app%`

yerine

'%app%'

olması gerekiyor. Yani tırnak işareti sorunu var bunu nasıl çözebilirim.

Çevrimdışı

#2 09.02.2013 01:42:07

Echo
Üye
Kayıtlı: 30.12.2012
Mesajlar: 51
Website

Yanıt: Fluent Join sorunsalı

JOIN için raw methodu yazılsa sorunum ortadan kalkardı ama ne yazık ki yok.

Son düzenleyen Echo (09.02.2013 02:29:27)

Çevrimdışı

#3 09.02.2013 11:55:47

angelside
Üye
Kayıtlı: 26.12.2012
Mesajlar: 195
Website

Yanıt: Fluent Join sorunsalı

Where ile like kullandığımda o çapraz tırnak sorunu olmuyor.

DB::table('blog_post')
	->where('post_title', 'LIKE', '%php%')
	->get();
// SELECT * FROM `blog_post` WHERE `post_title` LIKE '%php%'

       
   
RAW bence her yerde çalışır, sonuçta sorgudan bağımsız şekilde bir tür dönüştürme yapıyor gibi...

RAW ile yazdım (çift tırnak içinde tek tırnak ile), istediğinizi elde ettim ve blog yapısı üzerinde çalıştırdım. Başlığında "php" geçen yazıları bulup "category" tablosu ile bağladım.
       

$test = DB::table('blog_category')
	->join('blog_post', 'blog_post.post_title', 'LIKE', DB::raw("'%php%'") )
	->get();
// SELECT * FROM `blog_category` INNER JOIN `blog_post` ON `blog_post`.`post_title` LIKE '%php%'		
var_dump($test);

Son düzenleyen angelside (09.02.2013 11:57:35)


http://urltara.com - Aynı ip üzerinde olan diğer siteler ?

Çevrimdışı

#4 09.02.2013 17:40:21

Echo
Üye
Kayıtlı: 30.12.2012
Mesajlar: 51
Website

Yanıt: Fluent Join sorunsalı

Tamamdır oldu. Teşekkür ettim @angelside.

Çevrimdışı

Forum alt kısmı