Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 确保不存在变量';不要破译密码_Php_Laravel - Fatal编程技术网

Php 确保不存在变量';不要破译密码

Php 确保不存在变量';不要破译密码,php,laravel,Php,Laravel,我在数据库中搜索一个代码,如果我找到了它,那么我将搜索与此代码连接的结果,毕竟我正在更改两个记录的状态并保存它们 问题是相当基本的,我不确定如何验证这些变量,以确保它们在为空时不会破坏任何东西。我确信这个if语句会起作用,但似乎不会 $code = self::where('h_id', '=', $id)->first(); if($code) { $outcome = Outcome::where('code_id', '', $code->id)->first(

我在数据库中搜索一个代码,如果我找到了它,那么我将搜索与此代码连接的结果,毕竟我正在更改两个记录的状态并保存它们

问题是相当基本的,我不确定如何验证这些变量,以确保它们在为空时不会破坏任何东西。我确信这个if语句会起作用,但似乎不会

$code = self::where('h_id', '=', $id)->first();

if($code) {
    $outcome = Outcome::where('code_id', '', $code->id)->first();
}

if($outcome) {
    $code->status = 1;
    $outcome->status = 1;
    $code->save();
    $outcome->save();
}
使用:

$code=self::where('h_id','=',$id)->first();
if(空($code))die();//不管你怎么处理错误
$output=output::where('code_id','',$code->id)->first();
if(空($output))die();//不管你怎么处理错误
$code->status=1;
$outcome->status=1;
$code->save();
$outcome->save();
您可以使用
die
终止脚本,指定默认值,或者根据最终目标执行完全不同的操作。

使用:

$code=self::where('h_id','=',$id)->first();
if(空($code))die();//不管你怎么处理错误
$output=output::where('code_id','',$code->id)->first();
if(空($output))die();//不管你怎么处理错误
$code->status=1;
$outcome->status=1;
$code->save();
$outcome->save();

您可以使用
die
终止脚本,指定一个默认值,或者根据您的最终目标做一些完全不同的事情。

明确的方法是,如果找不到给定的参数,检查有说服力的数据库请求是否返回
null
,就像Laravel返回
null
一样

如果要检查
x=y
,也不需要指定第二个参数,您可以这样做

if($code) {
    $outcome = Outcome::where('code_id', $code->id)->first();
}
结果出来后,你可以简单地检查一下

if($outcome !== null) {
    $code->status = 1;
    $outcome->status = 1;
    $code->save();
    $outcome->save();
}
如果变量不等于null,则已找到具有该特定参数的给定模型


希望这能有所帮助。

如果找不到给定的参数,显式的方法是检查有说服力的数据库请求是否返回
null
,因为Laravel返回
null

如果要检查
x=y
,也不需要指定第二个参数,您可以这样做

if($code) {
    $outcome = Outcome::where('code_id', $code->id)->first();
}
结果出来后,你可以简单地检查一下

if($outcome !== null) {
    $code->status = 1;
    $outcome->status = 1;
    $code->save();
    $outcome->save();
}
如果变量不等于null,则已找到具有该特定参数的给定模型


希望这有帮助。

我认为你们的模型是一对一的关系。如果是这样,您可以尝试下面的代码

$data = self::with(['outcome'])->whereHas('outcome')->where('h_id', '=', $id)->first();

if($data){
$data->status = 1;
data->outcome->status = 1;
$data->save();
data->outcome->save();}

我认为你们的模特是一对一的关系。如果是这样,您可以尝试下面的代码

$data = self::with(['outcome'])->whereHas('outcome')->where('h_id', '=', $id)->first();

if($data){
$data->status = 1;
data->outcome->status = 1;
$data->save();
data->outcome->save();}

我建议使用
is\u null()
而不是
empty()
为什么@Fitzi?根据php文档,如果变量等于空字符串、数组、0整数、0.0浮点、false和null,则empty将返回true。这使得这个代码非常好,因为它更明确。此外,无需检查
null
以外的任何内容,因为
first()
会返回一个对象或
null
。我最初使用的是
isset
,但在OP声明他们希望“空时不破坏任何内容”时对其进行了更改。我建议使用
is\u null()
而不是
empty()
为什么@Fitzi?根据php文档,如果变量等于空字符串、数组、0整数、0.0浮点、false和null,则empty将返回true。这使得这个代码非常好,因为它更明确。此外,无需检查除
null
之外的任何内容,因为
first()
会返回一个对象或
null
。我最初使用的是
isset
,但后来更改了它,因为OP声明他们希望“在它们为空时不破坏任何东西”。这是正确的,看起来它返回null。谢谢,这是正确的,看起来它返回空值。谢谢你这也感觉像是一个可以处理得更好的案件:)这也感觉像是一个可以处理得更好的案件:)