Laravel与其他表的几列关系

时间:2016-07-14 16:52:34

标签: php sql laravel relational-database

我对Laravel中的关系表有疑问。我有一张桌子"修订"其中我有专栏" old_value"和" new_value"。此表存储更改历史记录。问题是当我想要返回记录表" revision"在页面上。返回值是,例如:

  

"用户杰克将名称产品从1更改为2"

但我希望成为返回值:

  

"用户杰克将名称产品从BALL更改为鞋子"

有没有办法结合关系表"修订"表"产品","文章"和"类别"。例如,基于列的值" revisionable_type"或"键"。问题是列#34; old_value"和" new_value"保存的是列" article_id"," category_id"与表"产品"和colums" id"与表"文章"和colums" id"与表"类别"

屏幕表:"修订版":http://iv.pl/images/78755893242784790812.png

屏幕表:"产品":http://iv.pl/images/82849082096359450147.png

屏幕表:"文章":http://iv.pl/images/81440394780221859215.png

屏幕表:"类别":http://iv.pl/images/03724618899545660879.png

1 个答案:

答案 0 :(得分:1)

一个简单的方法是查询类别表中的每个id。

<div>User {{ $user }} change name products from 
{{ Category::whereId(*theId*)->first()->category_name }}
to
{{ Category::whereId(*theId*)->first()->category_name }}
</div>

虽然,我认为真正的问题在于你的表结构。 Revisions表上的old_value和new_value是与类别表的关系。尝试了解有关如何规范表格的更多信息。