【发布时间】:2021-06-06 09:18:05
【问题描述】:
所以我有这个模型,'Ticket',它包含(除其他外)一个“category_id”列。
为简化起见,我的数据如下所示:
票务表
| id | Title | category_id |
|---|---|---|
| 1 | Issue #1 | 2 |
| 2 | Issue #2 | 4 |
| 3 | Issue #3 | 1 |
类别表
| id | Title |
|---|---|
| 1 | Authentication |
| 2 | Account |
| 3 | Billing |
在我的Ticket 模型中,我完成了以下操作:
/**
* @return Category
*/
public function category(): Category
{
return Category::firstWhere($this->category_id);
// return $this->belongsTo('App\TicketCategory'); <-- how it was, can't eager load.
}
但我收到的是undefined function addEagerConstraints()。
编辑:这是我的控制器:
class TicketController extends Controller
{
public function index()
{
$tickets = Ticket::with('category')->all();
// dd($tickets);
return view('tickets.index', compact('tickets'));
}
}
我也尝试过使用hasOne,但这意味着“类别”需要一个“ticket_id”列,我想避免这种情况。
我希望我的模型只选择与它们相关的类别,仅此而已。
这里有什么解决方案?
提前致谢
【问题讨论】:
-
我没有看到belongsTo!除了分享导致该错误的控制器代码之外,请
-
我用控制器和我正在谈论的 BelongsTo 编辑了我的问题
标签: laravel relationship