Microsoft 백엔드에서 실행되는 northwind 데이터베이스에서 두 엔티티의 데이터를 실시간 검색하는 방법을 보여주는 자습서/비디오를 따라했습니다.Breezejs : 관련 테이블의 필드에서 검색 수행
php/mysql
백엔드가있는 응용 프로그램을 개발해야하므로 이렇게하려면 PHP 제작자 클래스를 보유하고 있어야합니다. 나는 Wordpress DB에 연결되어 있으며, 모두 잘 작동하고있는 것 같다.
하지만 내 문제는 관련 테이블에서 검색을 수행하려고 할 때입니다. 저자의 displayName
(사용자 엔티티에서), post title
및 date
(글의 게시물)을 보여주는 표가 있습니다.
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);
내 문제가 제대로 술어의 필드를 참조 함께 : 컨트롤러 (실제로 datacontext.js) I는 서버에서 데이터를 가져 오기 위해 다음이에서
<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>
. 게시물 제목 엔티티를 검색하는 코드를 실행할 때 제대로 작동합니다.
var pred = breeze.Predicate
.create('title', 'contains', searchText);
다음과 같이 변경하면 곧 작동을 멈 춥니 다. 콘솔에도 오류가 없습니다.
var pred = breeze.Predicate
.create('title', 'contains', searchText)
.or('displayname', 'contains', searchText);
나는 그런 '표시 이름', 'posts.user.displayname', 'user.displayname'뿐만 아니라 낙타 표기법의 모든 것과 '나 displayName'의 여러 변종을 시도했습니다.
누군가 내가 잘못 가고 있다고 말할 수 있습니까?
답변 주셔서 감사합니다.하지만 이미 모든 유사 콘텐츠를 사용해 보았습니다. 아직도 운이 없다! –
외래 키 제약 조건과 관련이있을 수 있습니까? 아니면 외래 키 제약 조건과 관련이 있습니까? –
작동하지 않습니까? 어떤 오류 던지 무엇입니까? – jvrdelafuente