首页 > 解决方案 > 通过不在 Google App Engine php 中工作来订购

问题描述

我在 ndb 中使用了 Google App Enginein PHP

现在我必须将数据保存为模型并从中获取

$query = $datastore->query()
    ->kind('warehouse'); 

$result = $datastore->runQuery($query);

仓库有名称和地址字段

这个查询运行良好

当我尝试这个

use Google\Cloud\Datastore\Query\Query;

$query = $datastore->query()
    ->kind('warehouse')->order('created', Query::ORDER_DESCENDING);
$result = $datastore->runQuery($query);

这不起作用,Name 具有 StringProperty。如何从 ndb 获取带有 order desc 的数据

https://cloud.google.com/datastore/docs/concepts/queries

标签: phpgoogle-app-engineapp-engine-ndb

解决方案


创建一个 index.yaml 文件并将此代码放入此

indexes:
- kind: warehouse
  ancestor: no
  properties:
  - name: created
    direction: desc

如果你想应用过滤器

 $query = $datastore->query()
 ->kind('warehouse')->filter->('address'=>'USA')->order('created', Query::ORDER_DESCENDING);

然后在 index.yaml

indexes:
- kind: warehouse
  ancestor: no
  properties:
  - name: address 
  - name: created
    direction: desc

并上传

gcloud datastore indexes create index.yaml

推荐阅读