Это может быть глупый вопрос, но я застрял.
Я в основном хочу запустить простой запрос select в laravel и показать результат из одной строки в результате базы данных.
Я новичок в php и laravel, поэтому пытаюсь использовать модель в этом, чтобы повесить MVC.
Вот что я сделал. маршрут
Route::get('groupprofile/(:any)',array('uses'=>'groups@profile'));
Контроллер – 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)); } }
Просмотр – 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 eg name, philosophy, founder name etc. <br />$info->Description @endforeach <br />Testing end @endsection
Может кто-нибудь, пожалуйста, назовите меня, как мне это сделать? Я не могу понять, как отображать данные из полученного набора результатов, используя лезвие.
Или мой подход не подходит для этого? Мне удобнее писать запросы, чтобы не использовать Eloquent или свободно построитель запросов.
Посмотрите на использование Eloquent в Larvel, это ORM. Документы очень хороши в этом.
Ваша модель должна быть 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