dynanmo db filterexpression与多个条件php

时间:2016-11-19 18:52:09

标签: php amazon-dynamodb

我无法使用aws sdk在Dyanamodb php中使用逻辑andor使用filterExpression检索项目。任何人都可以使用正确的语法提供代码来检索满足条件的项目。

$scan_response = $dynamodb->scan(array(
    'TableName' => $tableName,
    'ExpressionAttributeValues' => [
        ':val1' => ['S' => '20'],
        ':val2' => ['S' => 'ajay'],

    'FilterExpression' => 'age = :val1 AND name = :val2'
]));

我收到错误

  

filterExpression必须是关联数组

提前致谢

1 个答案:

答案 0 :(得分:0)

试试这个

$scan_response = $dynamodb->scan(array(
    'TableName' => $tableName,
    'ExpressionAttributeValues' => [
        ':val1' => ['S' => '20'],
        ':val2' => ['S' => 'ajay']],

    'FilterExpression' => 'age = :val1 AND name = :val2'
));

严重关闭]创建

array(2) {
  ["TableName"]=>
  string(3) "..."
  ["ExpressionAttributeValues"]=>
  array(3) {
    [":val1"]=>
    array(1) {
      ["S"]=>
      string(2) "20"
    }
    [":val2"]=>
    array(1) {
      ["S"]=>
      string(4) "ajay"
    }
    ["FilterExpression"]=>
    string(28) "age = :val1 AND name = :val2"
  }
}

而不是必需的

array(3) {
  ["TableName"]=>
  string(3) "..."
  ["ExpressionAttributeValues"]=>
  array(2) {
    [":val1"]=>
    array(1) {
      ["S"]=>
      string(2) "20"
    }
    [":val2"]=>
    array(1) {
      ["S"]=>
      string(4) "ajay"
    }
  }
  ["FilterExpression"]=>
  string(28) "age = :val1 AND name = :val2"
}