如何从关系表中获取ID,Laravel

巴拉穆鲁加纳

我有4个表:Users,CompanyRegister,VoucherDetails,Addvoucher。因此,“身份验证用户ID”将在companyRegister表中作为user_id提交,然后companyRegister ID将在Voucherdetails表中作为company_id提交,最后voucherDetails ID将在addVoucher表中作为voucher_ID提交。我是新手,也是雄辩的,我不明白为什么我不能从voucherdetails获取ID并在addvoucher中提交,但是我可以从companyregister获取ID并以voucherdetails在company_id中提交。我正在使用相同的方法获取ID,但无法正常工作,希望在这里获得解决方案和解释,谢谢!!

我的用户模型

public function companyregisters()
    {
         return $this->hasOne('App\companyregisters');
    }

public function voucherdetails()
{
     return $this->hasMany('App\voucherdetails');
}

 public function addvoucher()
{
     return $this->hasMany('App\addvoucher');
}

public function roles()
{
    return $this->belongsToMany('App\role');
}

public function hasAnyRoles($roles)
{
    if($this->roles()->whereIn('name', $roles)->first()){
        return true;
    }
    return false;
}

  public function hasRole($role)
{
    if($this->roles()->where('name', $role)->first()){
        return true;
    }
    return false;
}

我的公司注册模型

public function User(){
         return $this->belongsTo('App\User');
    }

public function voucherdetails()
{
     return $this->hasMany('App\voucherdetails');
}

我的优惠券详细模型

  public function User(){
     return $this->belongsTo('User');
}


public function companyregisters(){
     return $this->belongsTo('App\companyregisters');
}

    public function addvoucher()
{
     return $this->hasOne('App\addvoucher');
}

我的附加代金券模型

    public function User(){
     return $this->belongsTo('App\User');
}

public function voucherdetails(){
     return $this->belongsTo('App\voucherdetails');
}

我的voucherdetailsController

         public function store(Request $request){
    
    $voucherdetail = new voucherdetails();

    $voucherdetail->title = $request->input('title');
    $voucherdetail->description = $request->input('description');
    $voucherdetail->user_id = Auth::user()->id;

    $id = Auth::user()->id;
    $user      = User::find($id);
    $company   = $user->companyregisters;
    $companyId = $company->id;

    $voucherdetail->company_id = $companyId;

    $voucherdetail->save();
    
    return redirect()->to('addvoucher');
        
    }

我的addvoucherController

        public function store(Request $request){

    $addvoucher = new addvoucher();

    $addvoucher->voucherTitle = $request->input('voucherTitle');
    $addvoucher->voucherCode = $request->input('voucherCode');
    $addvoucher->user_id = Auth::user()->id;

//Here(the voucherdetails id cant get to submit in voucher_id)

    $id = Auth::user()->id;
    $user      = User::find($id);
    $voucher   = $user->voucherdetails;
    $voucherID = $voucher->id;

    $addvoucher->voucher_id = $voucherID;

    $addvoucher->save();
    
    return redirect()->to('displayVouchers');

}
韦斯利·史密斯

此代码有效,因为companyregistershasOne关系,文档针对该关系说:

定义关系后,我们可以使用Eloquent的动态属性检索相关记录。

public function companyregisters()
{
   return $this->hasOne('App\companyregisters');
}

$company   = $user->companyregisters; // ie this returns the single related record 
$companyId = $company->id;            // and it has an `id` property, all good here

但是,此代码失败,因为文档voucherdetails具有hasMany关系:

定义关系后,我们可以通过访问comments属性来访问评论的“集合”。

有关收藏的更多信息

public function voucherdetails()
{
     return $this->hasMany('App\voucherdetails');
}


$voucher   = $user->voucherdetails; // ie this returns a "collection" of related records
$voucherID = $voucher->id;          // this "collection" does NOT have an id property, but each record IN the collection does.

总而言之,您的关系定义不正确(hasMany与hasOne),或者您需要遍历相关记录以获取每个记录的ID。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel雄辩的模型如何从关系表中获取数据

来自分类Dev

在关系mysql表中获取外部ID

来自分类Dev

laravel如何在会话中存储模型和关系ID,以便再次获取关系

来自分类Dev

从关系laravel中的另一个表获取id

来自分类Dev

如何从Laravel中的关系获取数据?

来自分类Dev

Laravel:如何使用多态关系雄辩模型从表中轻松获取值?

来自分类Dev

如何在Laravel中通过ID选择不同表上的关系数据

来自分类Dev

Laravel用户获取关系表

来自分类Dev

是否可以从Laravel中的关系表的关系表中获取数据?

来自分类Dev

Laravel Eloquent 获取与数据透视表中的值匹配的关系

来自分类Dev

Laravel 5从表中获取正确的ID

来自分类Dev

Laravel在保存时从关系中获取新插入的ID

来自分类Dev

如何获取关系表上的关系记录

来自分类Dev

从关系表中获取与额外信息的关系

来自分类Dev

如何从存在一对多关系的表中获取数据?

来自分类Dev

如何从laravel中包含product_id的订单表中获取产品名称?

来自分类Dev

如何从laravel中的第三个表中获取值并按id降序排序

来自分类Dev

如何在层次表关系中引用相同的ID

来自分类Dev

如何解码关系表laravel 5.8中的Json数据

来自分类Dev

如何在Laravel 5.2中为表选择关系?

来自分类Dev

如何在laravel中的2个表之间建立关系

来自分类Dev

如何获取表中重复行的ID

来自分类Dev

如何从 Html 表中获取 ID?

来自分类Dev

如何从表中获取最大ID?

来自分类Dev

如何根据Laravel中关系的条件获取列表

来自分类Dev

laravel 5.1:如何从模型中获取嵌套关系?

来自分类Dev

如何通过Laravel中的关系获取用户名

来自分类Dev

从关系中获取数据,Laravel

来自分类Dev

Laravel表关系获取用户列表

Related 相关文章

  1. 1

    Laravel雄辩的模型如何从关系表中获取数据

  2. 2

    在关系mysql表中获取外部ID

  3. 3

    laravel如何在会话中存储模型和关系ID,以便再次获取关系

  4. 4

    从关系laravel中的另一个表获取id

  5. 5

    如何从Laravel中的关系获取数据?

  6. 6

    Laravel:如何使用多态关系雄辩模型从表中轻松获取值?

  7. 7

    如何在Laravel中通过ID选择不同表上的关系数据

  8. 8

    Laravel用户获取关系表

  9. 9

    是否可以从Laravel中的关系表的关系表中获取数据?

  10. 10

    Laravel Eloquent 获取与数据透视表中的值匹配的关系

  11. 11

    Laravel 5从表中获取正确的ID

  12. 12

    Laravel在保存时从关系中获取新插入的ID

  13. 13

    如何获取关系表上的关系记录

  14. 14

    从关系表中获取与额外信息的关系

  15. 15

    如何从存在一对多关系的表中获取数据?

  16. 16

    如何从laravel中包含product_id的订单表中获取产品名称?

  17. 17

    如何从laravel中的第三个表中获取值并按id降序排序

  18. 18

    如何在层次表关系中引用相同的ID

  19. 19

    如何解码关系表laravel 5.8中的Json数据

  20. 20

    如何在Laravel 5.2中为表选择关系?

  21. 21

    如何在laravel中的2个表之间建立关系

  22. 22

    如何获取表中重复行的ID

  23. 23

    如何从 Html 表中获取 ID?

  24. 24

    如何从表中获取最大ID?

  25. 25

    如何根据Laravel中关系的条件获取列表

  26. 26

    laravel 5.1:如何从模型中获取嵌套关系?

  27. 27

    如何通过Laravel中的关系获取用户名

  28. 28

    从关系中获取数据,Laravel

  29. 29

    Laravel表关系获取用户列表

热门标签

归档