2013-08-16 3 views
0

Est-il possible d'exécuter quelque chose comme ça dans Eloquent?Laravel 4 requête

SELECT (SELECT `name` from `players` WHERE `player_id`=`id`) AS `name`, `value` FROM `player_skills` WHERE `skillid`=0 
+1

vous avez pris la peine même d'utiliser la recherche SO ou lire les documents avant de poser cette question? http://four.laravel.com/docs/queries#selects http://four.laravel.com/docs/eloquent#eager-loading – Gadoma

+0

@Gadoma Oui, je ne l'ai pas vu. Merci; p –

+1

Familiarisez-vous avec les chapitres Basic, Query Builder et Eloquent ORM des docs. Cela vous aidera à mieux comprendre Laravel 4 et à résoudre d'autres problèmes listés sur le site SO. Regads, – Gadoma

Répondre

0

Cela ressemble juste une relation simple, vous pouvez faire quelque chose comme ceci:

PlayerSkill::with('Player')->where('skillid',0)->get(); 
0

Vous pouvez simplement lancer votre requête comme ceci

DB::raw('SELECT (SELECT `name` from `players` WHERE `player_id`=`id`) AS `name`, `value` FROM `player_skills` WHERE `skillid`=0'); 

OU

DB::statement('SELECT (SELECT `name` from `players` WHERE `player_id`=`id`) AS `name`, `value` FROM `player_skills` WHERE `skillid`=0'); 

OU

DB::select('SELECT (SELECT `name` from `players` WHERE `player_id` = ?) AS `name`, `value` FROM `player_skills` WHERE `skillid`= ?', array('id', 0)); 

Bonne chance :)