$robots = $this->modelsManager->executeQuery(" SELECT CASE r.Type WHEN 'Mechanical' THEN 1 WHEN 'Virtual' THEN 2 ELSE 3 END FROM Store\Robots ");
// $data = $this->modelsManager->executeQuery(" SELECT r.*, rp.* FROM Store\Backend\Models\Robots AS r JOIN Store\Backend\Models\RobotsParts AS rp ");
use Phalcon\Mvc\Model\Manager as ModelsManager; // ... $di->set( 'modelsManager', function() { $modelsManager = new ModelsManager(); $modelsManager->registerNamespaceAlias( 'bm', 'Store\Backend\Models\Robots' ); return $modelsManager; } );
// $data = $this->modelsManager->executeQuery(" SELECT r.*, rp.* FROM bm:Robots AS r JOIN bm:RobotsParts AS rp ");
use Phalcon\Db\Dialect\MySQL as SqlDialect; use Phalcon\Db\Adapter\Pdo\MySQL as Connection; $dialect = new SqlDialect(); // Register a new function called MATCH_AGAINST $dialect->registerCustomFunction( 'MATCH_AGAINST', function($dialect, $expression) { $arguments = $expression['arguments']; return sprintf( " MATCH (%s) AGAINST (%)", $dialect->getSqlExpression($arguments[0]), $dialect->getSqlExpression($arguments[1]) ); } ); // $connection = new Connection( [ "host" => "localhost", "username" => "root", "password" => "", "dbname" => "test", "dialectClass" => $dialect ] );
$phql = "SELECT * FROM Posts WHERE MATCH_AGAINST(title, :pattern:)"; $posts = $modelsManager->executeQuery($phql, ['pattern' => $pattern]);
$phql = "SELECT c.* FROM Shop\Cars c WHERE EXISTS ( SELECT id FROM Shop\Brands b WHERE b.id = c.brandId )"; $cars = $this->modelsManager->executeQuery($phql);
git clone http://github.com/phalcon/cphalcon git checkout master cd ext sudo ./install
git clone http://github.com/phalcon/cphalcon git checkout master cd build sudo ./install
git clone http://github.com/phalcon/cphalcon git checkout master zephir fullclean zephir build
Source: https://habr.com/ru/post/260141/
All Articles