Laravel 8有ManyThrough不返回数据



我有3个表,它们都是Eloquent模型。我正试图使用hasManyThrough或pivot等来获取从原始表到最后一个表的关系。我现在有一个hasManyThrough设置,但我没有得到任何结果。就构建的查询而言,来自dd((的查询看起来是正确的,但我没有看到任何数据。没有抛出任何错误。

表格和ID:

users:
id
apps:
id
user_id
app_id
appversions:
id
app_id
user_id

一个用户可以拥有许多应用程序。一个应用程序可以有多个版本。我想从特定用户拥有的所有应用程序中获得他们的所有版本。唯一的区别是版本表被称为"appversions",模型被称为版本。

我正在版本模型上设置这样的表名。

class Version extends Model
{
use HasFactory;
protected $table = 'appversions';
}

在我的用户模型上,我正在尝试这个hasManyThrough

public function versions()
{
return $this->hasManyThrough(
'AppModelsVersion', 
'AppModelsApp',
'user_id',
'app_id',
'id',
'app_id'
);
}

然后从我的控制器上这样调用它:

$userVersions = $user->version();

我想明白了,现在看到了。

我改了这个:

$userVersions = $user->version();

对此:

$userVersions = $user->version;

相关内容

  • 没有找到相关文章

最新更新