Php Laravel 5.6跨越不同表格的灵活关系

Php Laravel 5.6跨越不同表格的灵活关系,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,我有一个表,它将由Laravel中的一个股票运动模型处理。我想建立一个关联到字段,该字段可以关联到多个不同的表 根据随附的图表,我需要将\u与\u id关联为以下之一 购买。购买\u id 发票。发票\u id 而且,随着我们发现更多可能导致股票波动的记录,未来可能会增加更多 现在,我在股票移动表的数据库模式中添加了一个related_to_type字段,以便指定特定移动记录与哪个记录类型相关。但我一直在努力找出如何建立这样一种关系的模型,或者它是否会以这种方式工作,或者我是否需要为每种类型

我有一个表,它将由Laravel中的一个股票运动模型处理。我想建立一个关联到字段,该字段可以关联到多个不同的表

根据随附的图表,我需要将\u与\u id关联为以下之一

  • 购买。购买\u id
  • 发票。发票\u id
而且,随着我们发现更多可能导致股票波动的记录,未来可能会增加更多


现在,我在股票移动表的数据库模式中添加了一个related_to_type字段,以便指定特定移动记录与哪个记录类型相关。但我一直在努力找出如何建立这样一种关系的模型,或者它是否会以这种方式工作,或者我是否需要为每种类型的关系设置一个单独的字段,因为我希望能够通过ORM的相关记录方案读取相关记录。

这正是,它们根据您的需要为您的模型提供一列,指示相关模型的关系类型和id

另请参见laravel文档中的此示例:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Image extends Model {
  /**
   * Get all of the owning imageable models.
   */
  public function imageable() {
    return $this->morphTo();
  }
}

class Post extends Model {
  /**
   * Get the post's image.
   */
  public function image(){
    return $this->morphOne('App\Image', 'imageable');
  }
}

class User extends Model {
  /**
   * Get the user's image.
   */
  public function image()
  {
    return $this->morphOne('App\Image', 'imageable');
  }
}