これは簡単なものでなければなりませんが、以前の私のやり方を覚えていません。 私はレコードIDが一致しているクエリ内で別のクエリを作成しようとしています:この2を簡略化する方法MySQLのクエリ
/*
tables:
models:
model_id
model_name
models_years:
model_year_id
model_id
year
*/
$models = DBW::run('SELECT * FROM models', [], true);
$models_years = DBW::run('SELECT * FROM models_years', [], true);
$output = [];
foreach ($models as $model)
{
$years = [];
foreach ($models_years as $model_year)
{
if ($model_year['model_id'] == $model['model_id'])
{
$years[] = $model_year['year'];
}
}
$output[] = [
'model_name' => $model['model_name'],
'years' => $years
];
}
var_dump($output);
私はPDO(設定:ATTR_DEFAULT_FETCH_MODE = FETCH_ASSOC)を使用し、 "DBW ::実行" 機能は$ stmt-> fetchAllのを返します。 ()。 これは私がやろうとしていることの一例に過ぎません。私はすべてのことを1つのSQLで行うことができることを知っています。 :(
ありがとうございます! 2番目のものはまさに私が望んでいたものです、そして、もしあなたが何が起こるかを説明してくれれば、そこには大いに感謝されるでしょう。 –