我有一个带有laravel的api,我决定使用表之间的关系,我在所有迁移中都使用这些函数来关联它们:
// Migration file: 2020_05_26_185555_create_customers_table.php on line 27
$table->foreign('user_id')->references('id')->on('users');
然后我实现了如下函数:(获取与之相关的记录):
// Model app\User.php on line 80
public function customers()
{
return $this->hasMany(Customer::class);
}
在customers controller上,如何使用上面显示的函数列出该用户的所有客户端**,即替换以下代码:
// Controller Customer\CustomerController.php on line 17
public function index()
{
$user_id = Auth::id();
$customers = Customer::where('user_id', $user_id)->get();
return $this->showAll($customers, 200, $filters);
}
对于以下内容(只是一个示例,它不起作用,但它是我的意思是):
// Controller Customer\CustomerController.php on line 17
public function index()
{
$customers = User::customers(); // Ejemplo
return $this->showAll($customers, 200, $filters);
}
我的目标是在相关表(例如,用户的客户机**)之间创建关系,而不使用条件,就像我当前的代码实现一样。
有人能帮我吗?
1条答案
按热度按时间kxxlusnw1#
您可以使用关系的动态属性来访问它(并加载它):
laravel7.x文档-雄辩-关系-关系方法与动态属性