我有一个表格,用户可以输入城市并提交 我已做出简单的逻辑以避免重复同一座城市 我输入的名称= city and city migration,其中具有列名称和created_by_id,并且我还使用了与房间具有一对多关系的city。我的城市模型名称是TotalCity。输入名称为城市 在我的控制器中,我已经执行了此逻辑
class QuickController extends Controller
{
public function logic(Request $request)
{
if(TotalCity::where('name',$request->city)->exists())
{
$city = TotalCity::where('name',$request->city)->value('id');
}
else {
$city = TotalCity::create(['name'=>$request->city']);
`} } }
此代码仍然无法正常工作,我也使用了firstOrCreate方法,但它也可以正常工作
我想做的是 如果存在加密数据,则我想取其值为“ id”,或者也可以获取所有值,如果不存在,则创建一个新值!!!
操作方法
答案 0 :(得分:1)
您可以尝试或共享控制器的完整代码
else{
$city = new TotalCity;
$city->name = $request->city;
$city->save();
}
答案 1 :(得分:1)
您可以添加验证以检查其是否唯一。
public function logic(Request $request)
{
$this->validate($request, [
city => 'required|unique:tableName.column',
]);
$city = new TotalCity;
$city->name = $request->city;
$city->save();
}
希望这会有所帮助。
答案 2 :(得分:1)