Один ко многим с RedBeanPhp ORM

Я хотел бы получить некоторые записи связанной таблицы:

table "portfolio" :
-id
-title

table "portfolio_img" :
-id
-image
-id_portfolio

Поле {id_portfolio} является внешним ключом таблицы «портфолио»: поле {id}.

Как я могу получить все записи "portfolio_img", используя поле {id_portfolio} (конечно, не используя классический способ R::find();))?

С уважением


person fabrice    schedule 12.02.2012    source источник


Ответы (1)


В соответствии с дизайном redbean вам нужно будет переименовать поле в portfolio_id. Тогда вы сможете получить доступ ко всем изображениям, вызвав bean-компонент portfolio и атрибут 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);

Я делаю подобную вещь в своих скриптах (один ко многим - Компания к контактам).

person Tim Withers    schedule 14.02.2012
comment
как мы можем сделать эту операцию с другой стороны... означает добавить изображение в портофило->ownImageList ? - person Navid_pdp11; 13.08.2015