如何基于视图进行查询?
How to make a query based on a view?
对数据库 table
进行查询的标准方法是创建一个 model
并在其中创建一个函数,例如:
<?php
use Phalcon\Mvc\Model;
use Phalcon\Mvc\Model\Query;
class Client extends Model {
function lireParCritere($critere) {
$sSQL = "
SELECT c.clt_id as clt_id,c.clt_cin_pass,c.clt_nom,c.clt_prenom,c.clt_tel,
c.clt_adresse,c.clt_comment,CONCAT_WS(
' ',
c.clt_nom,
c.clt_prenom
) AS noms
FROM Client as c WHERE 1 = 1 ";
if(isset($critere["clt_id"]) && $critere["clt_id"] != "") {
$sSQL .= "AND c.clt_id = '" . $critere["clt_id"] . "' ";
}
$sSQL .= " ORDER BY noms";
$query = new Query($sSQL,$this->getDI());
$ret = $query->execute();
return $ret;
}
}
?>
查询数据库的方法是什么view
?
数据库视图基本上是存储在另一个 table 中的 SQL 查询的输出。您可以将视图视为特定 SQL 查询的别名,然后您可以在其上 运行 其他查询。 (有点像 SELECT * FROM (SELECT * FROM table_one, table_two, table_n);
)
这意味着您可以将视图视为常规视图 table 并毫无问题地从中提取。
假设您有一个包含三列 id
、col_one
、col_two
的数据库视图。您可以执行与以下类似的操作。
<?php
/**
* Model representing the database view
*/
class Example extends \Phalcon\Mvc\Model
{
public $id;
public $col_one;
public $col_two;
public function getSource()
{
return 'view_name_in_database';
}
public function columnMap()
{
return array(
'id' => 'id',
'col_one' => 'col_one',
'col_two' => 'col_two'
);
}
}
// example query on the model
$examples = Example::query()
->where('id = :id:')
->bind(array(
'id' => 55
))->execute();
?>
对数据库 table
进行查询的标准方法是创建一个 model
并在其中创建一个函数,例如:
<?php
use Phalcon\Mvc\Model;
use Phalcon\Mvc\Model\Query;
class Client extends Model {
function lireParCritere($critere) {
$sSQL = "
SELECT c.clt_id as clt_id,c.clt_cin_pass,c.clt_nom,c.clt_prenom,c.clt_tel,
c.clt_adresse,c.clt_comment,CONCAT_WS(
' ',
c.clt_nom,
c.clt_prenom
) AS noms
FROM Client as c WHERE 1 = 1 ";
if(isset($critere["clt_id"]) && $critere["clt_id"] != "") {
$sSQL .= "AND c.clt_id = '" . $critere["clt_id"] . "' ";
}
$sSQL .= " ORDER BY noms";
$query = new Query($sSQL,$this->getDI());
$ret = $query->execute();
return $ret;
}
}
?>
查询数据库的方法是什么view
?
数据库视图基本上是存储在另一个 table 中的 SQL 查询的输出。您可以将视图视为特定 SQL 查询的别名,然后您可以在其上 运行 其他查询。 (有点像 SELECT * FROM (SELECT * FROM table_one, table_two, table_n);
)
这意味着您可以将视图视为常规视图 table 并毫无问题地从中提取。
假设您有一个包含三列 id
、col_one
、col_two
的数据库视图。您可以执行与以下类似的操作。
<?php
/**
* Model representing the database view
*/
class Example extends \Phalcon\Mvc\Model
{
public $id;
public $col_one;
public $col_two;
public function getSource()
{
return 'view_name_in_database';
}
public function columnMap()
{
return array(
'id' => 'id',
'col_one' => 'col_one',
'col_two' => 'col_two'
);
}
}
// example query on the model
$examples = Example::query()
->where('id = :id:')
->bind(array(
'id' => 55
))->execute();
?>