October/WinterCMS执行原生SQL查询

October/WinterCMS执行原生SQL查询

code中使用DB对象来执行SQL查询语句

function onStart()
{
    $this['results'] = Db::select('select * from tableName');
}

Markup中展现数据

{% for p in results %}
<h1>{{ p.title }}</h1>
{% endfor %}

数据库查询的处理

查询某个表的全部字段

$users = Db::table('users')->get();

其中get()方法以数组格式返回当前表的全部记录,可以使用foreach来处理数据

foreach ($users as $user) {
    echo $user->name;
}

查询单行数据及部分字段

$user = Db::table('users')->where('name', 'John')->first();

echo $user->name;

如果你不需要返回当前记录的所有字段,你还可以这么写

$email = Db::table('users')->where('name', 'John')->value('email');

使用value()会直接返回对应字段的值

返回多记录单字段

$titles = Db::table('roles')->lists('title');

foreach ($titles as $title) {
    echo $title;
}

这句代码实现了查询roles的所有记录的title字段

同样,我们也可以在lists()中定义我们要返回的字段名

$roles = Db::table('roles')->lists('title', 'name');

foreach ($roles as $name => $title) {
    echo $title;
}

原生RAW SQL查询演示

原生SQL查询需要使用DB::select方法

Db::select('select * from sometable where name = :name', ['name' => 'Charles']);

更多RAW SQL查询请参考这里

Post Comment