简单的MySQL在Laravel中选择查询问题

时间:2014-11-14 05:47:51

标签: php mysql laravel laravel-4

这是我的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');

注意: 现在我得到了区域表中的所有字段

2 个答案:

答案 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;
}