繁体   English   中英

Laravel 查询检查表列值是否存在

[英]Laravel query check if table column value exists

我有一个 Category 表,在我的 RegistrationController 中我在另一个查询中使用 Category,所以我想要另一个查询来检查 cte_gender_id 是否有 1、2 和 3 作为列中的值。

我现在拥有的:(在 RegistrationController 中)

$category = Category::where('cte_distance_id', $distance_id)
  ->where('cte_gender_id', $gender_id);
if(is_null($categorie)){
  return back()->with("errorMessage", "Categorie not found");
}

谢谢您的帮助!

试试这个方法:

$gender_id = ['1', '2', '3'];

// If you suppose collection
$category = Category::where('cte_distance_id', $distance_id)
                    ->whereIn('cte_gender_id', $gender_id)->get();

if($category->isEmpty()){
    return back()->with("errorMessage", "Categorie not found");
}

// If you suppose single element
$category = Category::where('cte_distance_id', $distance_id)
                        ->whereIn('cte_gender_id', $gender_id)->first();

if($category){
    return back()->with("errorMessage", "Categorie not found");
}

您可以使用whereInElequent ORM方法检查数组值,

对于多个数据

$gender_id_list = ['1', '2', '3'];

$category = Category::where('cte_distance_id', $distance_id)
                    ->whereIn('cte_gender_id', $gender_id_list)->get();

if($category->isEmpty()){
    return back()->with("errorMessage", "Categorie not found");
}

对于单曲和首曲

$gender_id_list = ['1', '2', '3'];

$category = Category::where('cte_distance_id', $distance_id)
                    ->whereIn('cte_gender_id', $gender_id_list)->first();

if(!$category){
    return back()->with("errorMessage", "Categorie not found");
}

您可以对 get 和 first 方法进行这种评估:

if(!isset($category) || count($category) < 1){
    return back()->with("errorMessage", "Categorie not found");
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM