function myWhen(dynamicList) {
const promises = dynamicList.map(item => new Promise( function(resolve,reject) {
$.when(item).done(data => resolve(data));
} ) );
return Promise.all(promises);
}
const MyDynamicList = [$.ajax( "foo" ) , $.ajax( "bar.aspx" ) ...];
myWhen(MyDynamicList).then( items => {
//do stuff
} ).catch(err => {
//handle error
})
这在我获取数据时有效(查询日志:public function other_children(){
return $this->hasMany('App\SameModel', 'parent_id', 'parent_id')
->where('id','!=', $this->id);
}
,但是当我以... where id != ? ...
之类的JSON返回数据时却不起作用。查询日志:return SameModel::with('other_children')->first();
使用... where id is not null ...
获取数据时无法识别$this->id
有解决方案吗?
答案 0 :(得分:1)
如果只有一个模型,则无需使用紧急加载:
$model = SameModel::first();
$model->other_children;
return $model;
答案 1 :(得分:0)
您可以像这样嵌套进行
$id = $this->id;
return SameModel::with(['other_children' => function ($query) use($id) {
$query->where('id','!=', $id);
}])->get();
在您的问题$this
属于控制器而不是模型时,这就是无法识别模型中关联方法中的$this->id
的原因。