我在两个模型之间存在多对多关系:故事和标记。我的应用程序中有一部分需要从Tag模型中返回给定Story的两列。我想完成这样的事情:
import { Component, OnInit } from '@angular/core';
import { Session, DashboardService } from '../dashboard.service';
@Component({
selector: 'sessions-display',
templateUrl: './sessions-display.component.html',
styleUrls: ['./sessions-display.component.scss']
})
export class SessionsDisplayComponent implements OnInit {
sessions: Session[] = [];
errorMessage: string;
constructor(private dashboardService: DashboardService) { }
ngOnInit() {
this.getSessions();
}
getSessions() {
this.dashboardService.getSessions()
.subscribe(
sessions => this.sessions = sessions,
error => this.errorMessage = <any>error);
}
}
显然这不起作用,但我需要把它放在我只返回那两个字段的Tag集合的地方。
答案 0 :(得分:1)
您需要使用方法->tags()
才能访问关系构建器来执行查询,因此这个方法应该有效:
Route::get('taglist/{id}', function($id) {
$tags = Story::find($id)->tags()->select('name', 'id as value')->get();
return $tags;
});