gpt4 book ai didi

laravel - 如何从 "belongsTo"加载关系?

转载 作者:行者123 更新时间:2023-12-04 07:59:50 46 4
gpt4 key购买 nike

所以我有这个模型,“票”,其中包含(除其他外)“category_id”列。
为简化起见,以下是我的数据的外观:
门票表


ID
标题
类别编号


1
问题 #1
2

2
问题#2
4

3
问题 #3
1

类别表


ID
标题


1
验证

2
帐户

3
计费


在我的 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() .
编辑:这是我的 Controller :
class TicketController extends Controller
{
public function index()
{
$tickets = Ticket::with('category')->all();
// dd($tickets);
return view('tickets.index', compact('tickets'));
}
}

我也试过 hasOne但这意味着“类别”需要一个“ticket_id”列,我想避免这种情况。
我希望我的模型只选择与它们相关的类别,仅此而已。
这里有什么解决方案?
提前致谢

最佳答案

在您的类别模型中,具有以下代码:

public function tickets()
{
return $this->hasMany(Ticket::class);
}
并将其添加到票证模型中:
public function category()
{
return $this->belongsTo(Category::class);
}
添加您已经拥有的 PHP 8 内容,它应该可以工作了!
编辑:
我看到你添加了更多关于如何正确加载它的信息。您的 Controller 中已有的代码也应该适用于此。您可能需要在我提供的方法中更改模型类名称,但这应该可以解决问题!
有关此类关系(一对多)的更多信息,请阅读 this part of the documentation .

关于laravel - 如何从 "belongsTo"加载关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66530721/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com