2013-05-23 2 views
0

Это может быть глупый вопрос, но я застрял ..Laravel дисплей запись таблицы с помощью запроса

Я в принципе хочу, чтобы запустить простой запрос на выборку в Laravel и показать результат из одной строки в результате базы данных.

Я новичок в php и laravel, поэтому стараюсь использовать эту модель, чтобы получить зависание на MVC.

Следующее - это то, что я сделал. Маршрут

Route::get('groupprofile/(:any)',array('uses'=>'[email protected]')); 

Контроллер - groups.php

class Groups_Controller extends Base_Controller { 
    public $restful=true; 
    public function get_profile($groupName){ 
     $groups=new Groups(); 
     $groupInfo=$groups->getGroupInfo($groupName); 
     return View::make('groups.profile.groupprofile')->with('groupInfo',$groupInfo); 
    } 
} 

Модель - groups.php

class Groups{ 
    public function getGroupInfo($name){ 
     return DB::query('select * from Groups where name=?',array($name)); 
    } 
} 

View - groupprofile.blade.php

@layout('layouts.default') 
@section('content') 
<h1>This is a profile page for a group.</h1> 
@foreach ($groupInfo -> results as $info) 
    <br />Here I want to display all columns e.g. name, philosophy, founder name etc. 
    <br />$info->Description 
@endforeach 
<br />Testing end 

@endsection 

Может кто-то пожалуйста, назовите меня ho w должен ли я это сделать? Я не могу понять, как отображать данные из пройденного набора результатов, используя лезвие.

Или мой подход не так, чтобы сделать это? Мне удобнее писать запросы, чтобы не использовать Eloquent или свободно построитель запросов.

ответ

2

Посмотрите на использование Красноречивого в Larvel, это ORM. docs очень хороши.

Ваша модель должна быть Group.php

<?php class Group extends Eloquent {} 

Вот оно! Поскольку мы расширяем Eloquent, мы можем теперь, по нашему мнению, вытащить одну строку следующим образом.

Group::where('name', '=', $somevar)->first() 

Конечно, вы, вероятно, захотите сохранить это в переменной вашего контроллера и передать объект в свое представление.

class Groups_Controller extends Base_Controller { 
    public $restful=true; 
    public function get_profile($groupName){ 
     $groupInfo = Group::where('name', '=', $groupName)->first() 
     return View::make('groups.profile.groupprofile')->with('groupInfo',$groupInfo); 
    } 
} 

Тогда, на ваш взгляд, вы можете получить доступ к свойствам (столбцы MySQL) этой строки, как это.

$groupInfo->name 
+0

Eloquent медленнее, чем бегло. – itachi

+0

@itachi, он тянет один ряд. –