这是我的Laravel查询下拉列表
我从哪里获得$CountryID
并从区域表中选择区域名称,在选择框中显示它
但我不知道如何在这里使用where
条件
我在做什么错?
$CountryID = Input::get('CountryID');
$roles = DB::table('region')->lists('regionname');
foreach ($roles as $value)
{
echo "<option value=".$value.">".$value."</option>";
}
echo "</select>";
}
如何更改此查询
$roles= DB::select( DB::raw("SELECT regionname FROM region WHERE CountryID = '$CountryID'") );
原生查询:
$roles = DB::table('region')->lists('regionname');
注意: 现在我得到了区域表中的所有字段
答案 0 :(得分:1)
您所要做的就是添加一个where子句。
$CountryID = Input::get('CountryID');
$roles = DB::table('region')->where('countryId', $CountryID)->lists('regionname');
foreach ($roles as $value)
{
echo "<option value=".$value.">".$value."</option>";
}
echo "</select>";
}
答案 1 :(得分:1)
我会将您的查询更改为:
$results = DB::table('region')->select('regionname', 'regionid')
->where('countryId', $CountryID)
->get();
这将返回一个stdClass对象数组,您可以从中访问属性:
foreach($results as $result)
{
echo $result->regionid;
}