我会尽可能的怀疑Thomas抱歉长代码。
这个问题将通过系列、书籍、作者、作者和图片来呈现
系列模型
/**
* The Series Model
*/
namespace My\Project\Series\Eloquent;
use Illuminate\Database\Eloquent\Model;
class Series Extends Model
{
protected $table = "series";
protected static $bookModel = "My\Project\Books\Eloquent\Book";
public function books()
{
return $this->hasMany(static::$bookModel);
}
}
图书模型
/**
* The Book Model
*/
namespace My\Projects\Books\Eloquent;
use Illuminate\Database\Eloquent\Model;
class Book Extends Model
{
protected static $seriesModel = "My\Project\Series\Eloquent\Series";
protected static $authorModel = "My\Project\Authors\Eloquent\Author";
public function series()
{
return $this->belongsTo(static::seriesModel);
}
public function authors()
{
return $this->hasMany(static::$authorModel);
}
}
作者模型
php prettyprint-override">/**
* The Author Model
*/
namespace My\Project\Authors\Eloquent;
use Illuminate\Database\Eloquent\Model;
class Author extends Model
{
protected static bookModel = "My\Project\Books\Eloquent\Book";
protected static authorPictureModel = "My\Project\AuthorPictures\Eloquent\AuthorPicture";
public function authorPicture()
{
return $this->hasOne(static::$authorPictureModel);
}
public function book()
{
return $this->belongsToMany(static::$bookModel);
}
}
作者图片模型
/**
* The Author Picture Model
*/
namespace My\Project\AuthorPictures\Eloquent;
use Illuminate\Database\Eloquent\Model;
class AuthorPicture
{
protected static $authorModel = "My\Project\Authors\Eloquent\Author";
public function author()
{
return $this->belongsTo(static::$authorModel);
}
}
系列服务
/**
* Series Service
*/
namespace My\Project\Series;
use My\Project\Series\SeriesProviderInterface;
class SeriesService
{
protected $seriesProvider;
public function __construct(SeriesProviderInterface $seriesProvider)
{
$this->seriesProvider = $seriesProvider;
}
public function findSeriesById($id)
{
$series = $this->seriesProvider->findById($id); // Will return model
return $series->with('books.authors.authorPicture')->get()->toArray();
}
}
问题来了。seriesfeacade::findSeriesById($id)
的print\r
结果将包括书籍和作者,但不包括作者图片。
奇怪的事情;如果我取消返回并转储DB::getQueryLog()
,我可以看到,一个查询被触发,以在 (.,.,.)中查找AuthPictures。
我已经可以在保存上关联模型了。但是如果我试图急切地加载这些嵌套关系,我会得到未定义的索引。
我阅读了所有的问题,甚至在github laravel/laravel上打开了一个问题,但仍然不确定我是做错了还是做了其他事情。这就是我问这个问题的原因。
正在执行查询,但未显示数据,因为;
AuthPicture
关系未设置在$可见作者数组下。那不是虫子。那是我无法策划的一个功能。
我有一个类似的问题,我解决了。首先,我提交了如下查询(所有关系都已正确设置)
$batch = Batch::with('batchItem.teamMember.employee.employeeType')->find($id);
然后我得到了一批产品
$batchItem = $batch->BatchItem[0];
但是当我打印r($batchItem)时,最后一个关系employeeType没有显示。更令人不安的是,例如,当我试图从$batchItem获取数据时
$batchItem->teamMember->employee->name
它会发出更多的查询,就好像根本没有数据被加载一样!
这个解决方案非常好。看来雄辩是非常区分大小写的。。。
$batchItem = $batch->batchItem[0];
解决了所有的问题!
不确定这是否是你的问题,但可能会有所帮助。
问题内容: 我在laravel中很难建立起非常嵌套的关系。 所需的行为如下, 我通过ID选择一个事件,我想查看哪些人已订阅该事件。 现在的问题是事件和人员之间有一些表格。 这是有效的查询! 事件模型 城市模型 公司模式 人物模型 我尝试过的 和 还有很多其他可能性,我真的很坚持。在laravel中实现这种嵌套关系链接如此困难吗? 谢谢! 问题答案: 如果只想从表中选择某些字段,请使用以下命令:
在之前,创建一个有依赖其他模型的模型的时候,我们需要提前把依赖的模型给建立好,这样就非常麻烦,是不是有那么一种方法,在一个 create 里面把其他的依赖模型一起新建出来呢? 这一小节就来解决这个问题。这其中有一个坑(关于命名),让我调试的头皮发麻。 Book 与 User 的 belongs 关系 1. 保存关系 来到 book.ts , 首先保存一下 this.belongsTo 的返回值,在
问题内容: 这是为这篇文章准备的一个通用的虚构示例。考虑6节课 是外部类,假设它为数据库表保留一个对象。 在此,没有呼叫或或。我的目标是外部范围不需要的内部对象的示例。 是内取和操作的数据,因此需要,和。 包含和需要,和。 若要让事情变得有趣,它需要一个Logger。我的示例现在深了3个作用域。 **我的问题很简单,如果您有一个对象3(或更多)作用域,而外部作用域上的对象没有调用该对象,那么如何将
常用数据库类型: 关系型数据库(以 MySQL、Postgresql为代表) 文档数据库 (以 MongoDB 为代表) 在我们开发的 Web 应用程序或者,系统的应用程序里面存储的一些数据都是存在一定的关联关系的,比如说用户做出了一些操作,我们需要知道是谁发起了这些操作,所以在日志记录表里面会有一个操作发起人,也就是记录下当前用户的唯一 Id 值,这是为了让一切都有迹可循,当出现各种事故的时候,
我有两个实体:用户和公司,它们之间的关系是n:m。在我的实体中,我有以下代码: 映射出了什么问题? 编辑重构代码 根据@Ahmed-Siouani的指示,我做了以下更改:
我有users表,它与vendordetails表有hasOne关系。 vendordetails表包含country_id、state_id和city_id,与Country、State和City模型有归属关系。 vendorDetail.php模型为:- 如果我查询users表,如何获取国家、州和城市的记录。 在这个查询中,它只找到vendordetails表的结果,我还想要country、s