本文整理汇总了PHP中Parse\ParseQuery::orQueries方法的典型用法代码示例。如果您正苦于以下问题:PHP ParseQuery::orQueries方法的具体用法?PHP ParseQuery::orQueries怎么用?PHP ParseQuery::orQueries使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Parse\ParseQuery
的用法示例。
在下文中一共展示了ParseQuery::orQueries方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: orQueries
/**
* Pass Query, ParseQuery or Closure, as params or in an
* array. If Closure is passed, a new Query will be passed
* as parameter.
* First element must be an instance of Query.
*
* ```
* Query::orQueries($query, $parseQuery);
* Query::orQueries([$query, $parseQuery]);
* Query::orQueries($query, function(Query $query) { $query->where(...); });
* ```
*
* @param mixed $queries
*
* @return static
*/
public static function orQueries()
{
$queries = func_get_args();
if (is_array($queries[0])) {
$queries = $queries[0];
}
$q = $queries[0];
$parseQueries = [];
foreach ($queries as $query) {
if ($query instanceof Closure) {
$closure = $query;
$query = new static($q->parseClassName, $q->fullClassName, $q->useMasterKey);
$closure($query);
$parseQueries[] = $query;
} else {
$parseQueries[] = $q->parseQueryFromQuery($query);
}
}
$orQuery = new static($queries[0]->parseClassName, $queries[0]->fullClassName, $queries[0]->useMasterKey);
$orQuery->parseQuery = ParseQuery::orQueries($parseQueries);
return $orQuery;
}
示例2: __construct
public function __construct()
{
// Get contact points
$creator = Flight::get('creator');
$contactPoints = $creator->fetch()->contactPoints;
$orQueryAry = array();
if ($contactPoints) {
foreach ($contactPoints as $point) {
$q = ListItem::query();
$q->equalTo('objectId', $point->getObjectId());
$orQueryAry[] = $q;
}
$orQuery = ParseQuery::orQueries($orQueryAry);
$orQuery->includeKey('itemType');
$contactList = $orQuery->find();
foreach ($contactList as $c) {
$contact[$c->itemType->value]['name'] = $c->itemType->value;
$contact[$c->itemType->value]['link'] = Creator::contactPointLink($c);
}
}
$this->contact = $contact;
}
示例3: testComplexQueries
public function testComplexQueries()
{
Helper::clearClass("Child");
Helper::clearClass("Parent");
$this->saveObjects(10, function ($i) {
$child = new ParseObject("Child");
$child->set("x", $i);
$parent = new ParseObject("Parent");
$parent->set("y", $i);
$parent->set("child", $child);
return $parent;
});
$subQuery = new ParseQuery("Child");
$subQuery->equalTo("x", 4);
$query1 = new ParseQuery("Parent");
$query1->matchesQuery("child", $subQuery);
$query2 = new ParseQuery("Parent");
$query2->lessThan("y", 2);
$orQuery = ParseQuery::orQueries([$query1, $query2]);
$results = $orQuery->find();
$this->assertEquals(3, count($results), 'Did not return correct number of objects.');
}
示例4: getNotificaciones
/**
* Devuelve todos los usuarios que se han interesado en alguna casa del
* $arrendador y que aun no se ha autorizado su contact. Los datos se devuelven
* en forma de relacion de la tabla UsuarioVeDatosCasa, contiene idInmueble
* (el inmueble que le intereso al usuario), idUsuario (el usuario interesado),
* y arrendador (el usuario dueño del inmueble).
* @param type $usuario
* @return type
*/
public static function getNotificaciones($usuario)
{
$queryArrendador = new ParseQuery("UsuarioVeDatosCasa");
//si el usuario puso en renta una casa, se le devuelve informacion al respecto
$queryArrendador->equalTo("arrendador", $usuario);
//$queryArrendador->equalTo("validado",false); //se le devuelven las que no estan validadas para que sepa que las tiene que validar
$queryArrendador->ascending("idInmueble");
//importante
$queryCliente = new ParseQuery("UsuarioVeDatosCasa");
//si el usuario solicito una casa y ya estan listos los datos se le envian
$queryCliente->equalTo("idUsuario", $usuario);
$queryCliente->equalTo("validado", true);
$mainQuery = ParseQuery::orQueries([$queryArrendador, $queryCliente]);
$mainQuery->descending("createdAt");
$res = $mainQuery->find();
$fin = count($res);
$inmuebleAct = null;
$nNoti = 0;
$notificaciones = [];
for ($i = 0; $i < $fin; $i++) {
$arrendador = $res[$i]->get("arrendador");
$arrendador->fetch();
$inm = $res[$i]->get("idInmueble");
$inm->fetch();
if ($arrendador == $usuario) {
//si el usuario es arrendador y tiene un cliente nuevo ***
if ($res[$i]->get("validado")) {
$user = $res[$i]->get("idUsuario");
$user->fetch();
$mensaje = "Ahora puedes ponerte en contacto con el usuario " . $user->get("username") . " que se interesa en la casa que esta en " . $inm->get("direccion") . ". <br>";
$mensaje .= "Puedes contactar al usuario con el correo: " . $user->get("email") . ".<br>";
//echo $mensaje;
$notificaciones[] = new Notificacion($mensaje, Notificacion::CONTACTO_NUEVO, $inm);
} else {
if ($inmuebleAct != null && $inm->getObjectId() === $inmuebleAct->getObjectId()) {
//no usar ==, se acaba el stack, usar === porque php es mamon
$nNoti++;
//si es otra notificacion del mismo inmueble, las agrupa mostrando solamente el numero de notificaciones de ese inmueble
continue;
}
//else ...
$mensaje = APIUsuario::generaNotificacionClientesPot($nNoti, $inmuebleAct);
if ($mensaje != null) {
$notificaciones[] = new Notificacion($mensaje, Notificacion::CLIENTE_POTENCIAL, $inmuebleAct);
}
$inmuebleAct = $inm;
$nNoti = 1;
}
} else {
$mensaje = "El usuario " . $arrendador->get("username") . " ha decidido ponerce en contacto contigo para la " . " negociacion de la casa que solicitaste que se encuentra en " . $inm->get("direccion") . " contactalo a este correo: " . $arrendador->get("email") . ". <br>";
//echo $mensaje;
$notificaciones[] = new Notificacion($mensaje, Notificacion::CONTACTO_ARRENDADOR, $inm);
}
}
$mensaje = APIUsuario::generaNotificacionClientesPot($nNoti, $inmuebleAct);
if ($mensaje != null) {
$notificaciones[] = new Notificacion($mensaje, Notificacion::CLIENTE_POTENCIAL, $inmuebleAct);
}
return $notificaciones;
}
示例5: ParseQuery
$app_id = "YiutbXLU5r5ofy1JdpRzCWq3w4ypjmNLajS5fwpl";
$rest_key = "k4Y8vkkSxjbSm5ShOfqCdkIWgjnLYMIOfEnT7SR6";
$master_key = "2nHXLv737mlU2mJJ7qsNFlAnd8WPfUs3YBPV0ROL";
session_start();
// Starting Session
$error = '';
// Variable To Store Error Message
if (isset($_POST['submit'])) {
if (empty($_POST['username']) || empty($_POST['password'])) {
$error = "Username or Password is invalid";
} else {
// Define $username and $password
$username = $_POST['username'];
$password = $_POST['password'];
ParseClient::initialize($app_id, $rest_key, $master_key);
$query1 = new ParseQuery("user");
$query1->equalTo("user_name", $username);
$query2 = new ParseQuery("user");
$query2->equalTo("user_id", $password);
$mainQuery = ParseQuery::orQueries([$query1, $query2]);
$results = $mainQuery->find();
if (count($results) > 0) {
$_SESSION['login_user'] = $username;
// Initializing Session
header("location: profile.php?user=" . $username);
// Redirecting To Other Page
} else {
$error = "Username or Password is invalid";
}
}
}