如何检查另一个 table 中是否存在主键值?
How can I check if a primary key value exists in another table or not?
我在多个 table 中有 country
的 ID(主键),我想检查它的值是否存在于另一个引用的 table.[=13= 中]
尝试使用以下代码,但我认为这不是正确的方法。任何人都可以提出一些建议...
public function check($id)
{
$state = State::pluck('country_id');
$country = DB::select("select count(*) from country where ? not in (?)",[$id,$state]);
if($country == 0)
{
//
}
else{
//
}
}
这里使用Exists方法
public function check($id)
{
$state = State::pluck('country_id');
$country = DB::table('country') //table set
->whereIn('column_name',$state) //if array then used whereIn method
->where('column_name',$id) //if single value use where method
->exists();
if($country)
{
//
}
else{
//
}
}
您可以使用 exists
.
检查记录的关系是否存在(或存在)
假设您在 Country
模型上有一个名为 states
的关系:
public function states
{
return $this->hasMany(State::class);
}
您可以检查 Country
在您的数据库中是否有任何 States
与之相关。
// returns true if there are related states, otherwise false
Country::first()->states()->exists();
您可以使用任何您想要的过滤条件,因此您可以使用 find($id)
或 where('field', $value)
等而不是 first()
。
我在多个 table 中有 country
的 ID(主键),我想检查它的值是否存在于另一个引用的 table.[=13= 中]
尝试使用以下代码,但我认为这不是正确的方法。任何人都可以提出一些建议...
public function check($id)
{
$state = State::pluck('country_id');
$country = DB::select("select count(*) from country where ? not in (?)",[$id,$state]);
if($country == 0)
{
//
}
else{
//
}
}
这里使用Exists方法
public function check($id)
{
$state = State::pluck('country_id');
$country = DB::table('country') //table set
->whereIn('column_name',$state) //if array then used whereIn method
->where('column_name',$id) //if single value use where method
->exists();
if($country)
{
//
}
else{
//
}
}
您可以使用 exists
.
假设您在 Country
模型上有一个名为 states
的关系:
public function states
{
return $this->hasMany(State::class);
}
您可以检查 Country
在您的数据库中是否有任何 States
与之相关。
// returns true if there are related states, otherwise false
Country::first()->states()->exists();
您可以使用任何您想要的过滤条件,因此您可以使用 find($id)
或 where('field', $value)
等而不是 first()
。