現在、データベースに対してクエリを実行する 2 つの関数があります。最初のものはすべてのエントリに対してクエリを実行し、2 つ目は仕様 (バージョン管理用) を持っています。
データベース ->編集済み
id | version_id | post_id
-------------------------
1 | 1 | 1
2 | 2 | 2
3 | 1 | 1
4 | 1 | 1
コード ->編集済み
public function post($postid)
{
global $db;
$query = "SELECT * FROM news";
return $db->select($query);
}
public function version_count()
{
global $db;
$query = "SELECT * FROM news WHERE post_id='1' ORDER BY version_id DESC LIMIT 1";
return $db->select($query);
}
エントリを表示するために、次のことを試しましたが、期待どおりに動作し、すべてのエントリが表示されます。
$posts_array = $query->post($post);
foreach ( $counted_versions as $post )
{
echo $post->id . "-";
}
ただし、行 2 と 4 のみをエコーしたいのは、2 が一意で 4 が最新であるためです。
最初は、このロジックが機能すると思いました:
$posts_array = $query->post($post);
$counted_versions = $query->version_count();
foreach ( $counted_versions as $counted )
{
foreach ( $posts_array as $post )
{
echo $post->id . "-";
}
}
しかし、むしろ、1-2-3-4-
foreach ループを切り替えると、 が得られますが、少なくとも or を4-4-4-4-
期待する(またはまたは)。2-4
1-4
4-2
4-1
誰かが同様の結果を得る方法を持っていますか?