В модели Phalcon есть способ использовать условие SQL «IN» и другие критерии базы данных? Например, я хочу, чтобы выполнить этот запрос в PhalconКритерии Phalcon DB в модели ORM
SELECT user_fullname, user_email FROM tbl_users WHERE user_id IN (1,2,3,4,5)
Я знаю, что вы можете использовать конструктор запросов, но я хочу, чтобы это было ОРМ. Мне нужен метод в моей модели getUsersByIds ($ userIds, $ columnsToSelect), который примет массив идентификаторов пользователей и столбцов, которые вы хотите получить в таблице.
Смотрите мою модель ниже
<?php
use Phalcon\Mvc\Model;
class User extends Model
{
/**
*
* @var integer
*/
public $user_id;
/**
*
* @var string
*/
public $user_email;
/**
*
* @var string
*/
public user_phone;
/**
*
* @var string
*/
public user_fullname;
public function initialize()
{ $this->hasMany('user_id','Store\Bag','user_id');
}
public function getSource()
{
return "tbl_user";
}
public function find($parameters = null)
{
return parent::find($parameters);
}
public function findFirst($parameters = null)
{
return parent::findFirst($parameters);
}
/**
* I want to execute this query in my model
* SELECT user_fullname,user_email from tbl_user where user_id IN (1,2,3,4,5);
*/
public function getUsersByIds($ids=array(), $columns=array())
{
if(!is_array($ids))
$ids = array($ids);
if(!is_array($columns))
$columns = array($columns);
...................................
.........................
..............
}
}
+1 для '{ids: array}'. Просто обратите внимание: '$ columnsToSelect?: '*'' В вашем случае $ columnsToSelect имеет значение по умолчанию в определении функции, но если оно не установлено, оно будет вызывать уведомление. :) –
@NikolayMihaylov, исправление опечатки :) – Timothy
Он работает! Мне нужен метод 1. Большое спасибо за всю помощь – user1149244