【问题标题】:How to make relationship array type foreign_key in laravel 5.2?如何在 laravel 5.2 中创建关系数组类型 foreign_key?
【发布时间】:2018-08-22 02:50:28
【问题描述】:

我将数据作为数组存储在数据库中,该数组是另一个表的外键。 因此,当我尝试一对一地获取该数组 id 正常 laravel 时,它显示为空。 我的锻炼代码如下:-

在控制器中:-

$data =  Category::with('type')->all();

在类别模型中:-

  return $this->belongsTo('App\Models\Types','id','category');

在类型模型中:-

return $this->belongsTo('App\Models\Category');

存储的数据类型

|| id || name || category ||
    3    test     ["5","6"]

从这些表中,我只想获取类型名称为 test 且类别 ID 为 5,6 的数据。

我很感激有人提出更好的想法和逻辑来解决这个问题。谢谢!!!

【问题讨论】:

  • 如果存储为字符串["5","6"],那么它是错误的数据结构。
  • 你的概念有很多问题。数据库设计不当。模型内部存在错误。在互联网上搜索关于Laravel Eloquent Relationship的好教程
  • 非常感谢您的意见和发言。所以将整数类型存储在数组组数据类型整数中是行不通的
  • 如果数组是[5,6],那么如何在 eloquent 模型中为 id 关联 id

标签: php laravel


【解决方案1】:

你的代码需要修改

first of first:如果您的类型属于多个类别,则创建一个名为 category_typepivot 表,其中包含 category_id AND type_id 字段

所以在你的 Category 模型中

class Category extends Model
{
   public function types()
   {
      return $this->belongsTo('App\Models\Type');
   }
}

然后:

$data =  Category::with('types')->all();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 2016-11-01
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    • 2016-09-08
    • 2014-07-25
    相关资源
    最近更新 更多