我试图检查2列值是否匹配? 我有1个db表类(id,cls,divn) 我从列表框中选择类。使用标记。并从列表框输入分区。使用标签.. 如果select(例如:class-1和division -A)如果它已经在数据库中,则给出警告msg..it已经采取其他方式保存到数据库中。 即使用controller.php代码是
try
{
$clss = Input::get('cls');
$divn = Input::get('divn');
$cs = ForumClass::where('cls', '=', $clss && 'divn', '=', $divn );
if((empty($cs)))
{
throw new \Exception("Class not found");
}
return Redirect::route('getclasses')
->with('success','Its Already taken');
}
catch (Exception $e)
{
ForumClass::create([
'cls'=>Input::get('cls').'-'.Input::get('divn'),
]);
return Redirect::route('classes')
->with('fail','classes submited');
}
现在我的问题是..这段代码不起作用。$cs = ForumClass::where('cls', '=', $clss && 'divn', '=', $divn );
如果任何选定的1级和A级包含警报"它已经被采取"
它的真实,,,
但是-8级和D级是数据库中的ot,但它也提供相同的警报"它已经被采取"。
我的数据库
id cls divn
1 1 A
2 5 C
4 10 A
5 4 G
在laravel 4中如何检查2列值是否已经退出。??
答案 0 :(得分:1)
你是那样的一部分,就这样做;
$cs = ForumClass::where('cls', $clss)->where('divn', $divn )->first();
如果您不需要使用记录,请使用->exists()
方法。
如果有,则返回模型,否则返回null
。如果不使用->first()
或->get()
方法,您的查询将无法执行。