使用 RedBeanPhp ORM 进行一对多

发布于 2025-01-05 06:49:37 字数 340 浏览 0 评论 0原文

我想检索链接表的一些记录:

table "portfolio" :
-id
-title

table "portfolio_img" :
-id
-image
-id_portfolio

{id_portfolio} 字段是“portfolio”表的外键:{id} 字段。

如何使用 {id_portfolio} 字段获取所有 "portfolio_img" 记录(不使用 R::find() 的经典方式, 当然 ;) ) ?

问候

I would like to retrieve some records of a linked table :

table "portfolio" :
-id
-title

table "portfolio_img" :
-id
-image
-id_portfolio

The {id_portfolio} field is the foreign key of the "portfolio" table : {id} field.

How can I get all the "portfolio_img" records using an {id_portfolio} field (not using the classic way of R::find(), of course ;) ) ?

Regards

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

生寂 2025-01-12 06:49:37

根据 redbean 的设计方式,您需要将该字段重命名为 portfolio_id。然后,您就可以通过调用portfolio bean 和own 属性来访问所有图像。

$portfolio=R::load('portfolio',1);
echo $portfolio->title;
foreach($portfolio->ownPortfolio_img as $img){
    echo $img->image;
}

现在您也可以使用以下方法添加图像:

$image=R::dispense("portfolio_img");
$image->image="myimage.jpg";
$image->portfolio=R::load('portfolio',1);
R::store($image);

我在脚本中执行类似的操作(一对多 - 公司到联系人)。

The way redbean is designed, you would need to rename the field to portfolio_id. Then you would be able to access all the images by calling the portfolio bean and the own attribute.

$portfolio=R::load('portfolio',1);
echo $portfolio->title;
foreach($portfolio->ownPortfolio_img as $img){
    echo $img->image;
}

Now you can add an image as well, using:

$image=R::dispense("portfolio_img");
$image->image="myimage.jpg";
$image->portfolio=R::load('portfolio',1);
R::store($image);

I do a similar thing in my scripts (one to many - Company to Contacts).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文