我正在尝试通过它们是否与属性上的原始实体匹配来对查询结果进行排序.我可以使用以下查询在mySQL中轻松完成此操作:
SELECT * FROM table
ORDER BY prop = 'value' DESC;
Run Code Online (Sandbox Code Playgroud)
但是,在Doctrine中,当我尝试以下操作时:
// $qb is an instance of query builder
$qb->select('e')
->from('Entity', 'e')
->orderBy('e.prop = :value', 'DESC')
->setParameter('value', 'value');
// grab values
Run Code Online (Sandbox Code Playgroud)
我得到一个Doctrine语法错误,'结束字符串'.我研究了创建一个自定义函数,但这看起来有点过分.我对Doctrine很新,有没有更好的方法呢?
我正在尝试使用Resolve设置我的路由器配置,它从BehaviorSubject返回一个Observable.我在角度4.0.0-beta8和角度2.4.8 +路由器3.4.8中尝试了这个
这是我的服务:
@Injectable()
export class MyService {
private _data: BehaviorSubject<Array<string>> = new BehaviorSubject(undefined);
constructor() {}
public getData(): Observable<Array<string>> {
this._data.next(['test1', 'test2', 'test3']);
let asObservable = this._data.asObservable().delay(1000);
asObservable.subscribe((myData) => {
console.log([myData, 'this console message DOES show up']);
});
// if I return here, my component's constructor and ngOnInit never fire
// return asObservable;
let fakeObservable = Observable.of(['test1', 'test2', 'test3']).delay(1000);
fakeObservable.subscribe((fakeData) => {
console.log([fakeData, 'this console message shows up']);
});
console.log([asObservable, fakeObservable]);
/* console log output
Observable {
_isScalar: false,
operator: …Run Code Online (Sandbox Code Playgroud)