我想所有的表A中所引用表B中的名

问题描述 投票:-1回答:1

在laravel我可以假设有两个表子和父之间的关系,做到这一点。

我可以访问多少次是用孩子的父母。

$儿童安全>父 - > ID;

但在纯PHP我不知道如何工作的。到目前为止,仅i`ve试过这种

foreach ($shops as $shop) {
foreach ($shopAssistants as $shopAS) {
if($shopAS['shop_id'] != $shop['id']){
?> 
<option id = "<?php echo $shop['id']; ?>"><?php echo $shop['shop_name']; ?> 
</option>
}
php mysql database
1个回答
0
投票

折叠阵列之一

 $shopIds  = array_column($shops, 'id');

 foreach ($shopAssistants as $shopAS) {
      if(in_array($shopAS['shop_id'],$shopIds){
 ?> 
 <option id = "<?php echo $shop['id']; ?>"><?php echo $shop['shop_name']; ?> 
 </option>
 }

阵列列将从多维数组返回只是一个单一的柱。所以,如果你有

$shops = [ 
   ['id' => 1, 'name' => 'foo'],
   ['id' => 2, 'name' => 'foo'],
   ['id' => 3, 'name' => 'foo'],
]

随着array_column($shops, 'id')并考虑上面的例子,我希望这样的结果

[1,2,3]

通过减少数据下降这样,你可以只使用in_array从而节省您不必做2环。

-注意-

如果商店是一个对象,你可能只需要将其转换为这样一个数组:

$shopIds  = array_column((array)$shops, 'id');

假设物业id是公开的。

© www.soinside.com 2019 - 2024. All rights reserved.