Laravel belongsTo not working(Laravel 属于不工作)
问题描述
我的应用中有 2 个模型,用户"和'MedicineType'(每个用户属于一个 MedicineType).
I have 2 models in my app, 'User' & 'MedicineType' (each User belongs to one MedicineType).
我使用belongsTo() 和hasMany() 在两个模型之间建立了一对多关系.hasMany() 关系完美运行,但belongTo() 不起作用.有谁知道我哪里出错了?
I made the one-to-many relation between two model using belongsTo() and hasMany(). hasMany() relation works perfectly but belongTo() doesn't work. Does anyone know where did I make a mistake?
User::find(1)->medicine_type [这不返回任何内容]
User::find(1)->medicine_type [this returns nothing]
MedicineType::find(1)->users [返回用户]
MedicineType::find(1)->users [this returns users]
这是模型的代码:
class MedicineType extends Eloquent {
public function users()
{
return $this->hasMany('User');
}
}
class User extends Eloquent {
public function medicine_type()
{
return $this->belongsTo('MedicineType');
}
}
这是我的数据库结构:
users:
id
name
medicine_type_id
medicine_types:
id
name
推荐答案
你的关系不工作的原因不是因为模型中指定的关系,而是因为 User 模型中的方法命名而不是指定外部键.
The reason your relation is not working is not because of the relations specified in the model, but because of the method naming in the User model and not specifying the foreign key.
代替:
public function medicine_type()
{
return $this->belongsTo('MedicineType');
}
使用:
public function medicineType()
{
return $this->belongsTo('MedicineType', 'id');
}
我希望这对你有用;)
一切都在一起:
<?php // app/models/MedicineType.php
class MedicineType extends Eloquent {
// Determines which database table to use
protected $table = 'medicine_types';
public function users()
{
return $this->hasMany('User');
}
}
和:
<?php // app/models/User.php
class User extends Eloquent {
// Determines which database table to use
protected $table = 'users';
public function medicineType()
{
return $this->belongsTo('MedicineType', 'id');
}
}
测试它是否有效:
$user = User::find(1);
return $user->medicineType->name;
这成功返回了相关的medicine_type 的名称.
This successfully returns the related medicine_type's name.
我希望这能帮助你进一步;)
I hope this helps you further ;)
这篇关于Laravel 属于不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Laravel 属于不工作
基础教程推荐
- PHP 类:全局变量作为类中的属性 2021-01-01
- 如何在 Laravel 中使用 React Router? 2022-01-01
- Cron Jobs 调用带有变量的 PHP 脚本 2022-01-01
- 在PHP中根据W3C规范Unicode 2022-01-01
- 如何替换eregi() 2022-01-01
- 如何在 Laravel 5.3 注册中添加动态下拉列表列? 2021-01-01
- 有什么方法可以用编码 UTF-8 而不是 Unicode 返回 PHP`json_encode`? 2021-01-01
- PHP PDO MySQL 查询 LIKE ->多个关键词 2021-01-01
- YouTube API v3 点赞视频,但计数器不增加 2022-01-01
- 学说 dbal querybuilder 作为准备好的语句 2022-01-01
