Laravel显示表记录使用查询


Laravel display table record using query

这可能是一个愚蠢的问题,但我卡住了…

我基本上想在laravel中运行一个简单的选择查询,并从数据库结果中的单行显示结果。

我是php和laravel的新手,所以尝试在这个模型上挂在MVC上。

以下是我所做的。路线

Route::get('groupprofile/(:any)',array('uses'=>'groups@profile'));

Controller - 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);
    }
}

Model - 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 e.g. name, philosophy, founder name etc.
    <br />$info->Description
@endforeach
<br />Testing end
@endsection

谁能告诉我该怎么做?我不能理解如何显示数据从传递的结果集在视图中使用刀片。

还是我的方法错了?我更喜欢写查询,所以不使用Eloquent或fluent查询生成器。

看看在Larvel中使用Eloquent,它是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