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查询请参考这里。