我按照教程/视频展示了如何对来自在 Microsoft 后端运行的北风数据库上的两个实体的数据执行实时搜索。
我必须开发一个具有php / mysql
后端的应用程序,因此必须掌握 php 生产者类来执行此操作。我已连接到 Wordpress 数据库,一切似乎都运行良好。
但是,我的问题是当我尝试对相关表执行搜索时。我有一个显示作者displayName
(来自用户实体)、post title
和date
(来自帖子)的网格。
<input type="text" data-ng-model="searchText"/> {{searchText}}
<table class="table table-hover">
<thead>
<tr>
<th>Author </th>
<th>Date</th>
<th>Title</th>
</tr>
</thead>
<tr ng-repeat="post in posts">
<td>{{post.user.displayName}}</td>
<td>{{post.date}}</td>
<td>{{post.title}}</td>
</tr>
</table>
在控制器(实际上是 datacontext.js)中,我有以下内容从服务器获取数据:
if (searchText && (searchText = searchText.trim())) {
log("searching for " + searchText);
var pred = breeze.Predicate
.create('title', 'contains', searchText);
query = query.where(pred);
} else {
console.log("getting all");
}
return manager.executeQuery(query).then(success);
我的问题是正确引用谓词中的字段。当我运行代码仅搜索下面的帖子标题实体时,它工作正常。
var pred = breeze.Predicate
.create('title', 'contains', searchText);
一旦我将其更改为以下内容,它就会停止工作。控制台中也没有错误。
var pred = breeze.Predicate
.create('title', 'contains', searchText)
.or('displayname', 'contains', searchText);
我尝试了 'displayName' 的几种变体,例如 'displayname'、'posts.user.displayname'、'user.displayname' 以及 camelCase 中的所有变体。
有人可以告诉我哪里出错了吗?