我使用laravel5.5写的接口,使用return返回信息的话,调用一次,接口自动执行两次;使用dd()结束就只执行一次,怎么搞啊,我要疯了
public function aa(){
$aa = Channel::create([
'Pname' => 'as45',
'Code' => '100',
'Cnname' => '9108',
]);
return $aa;
}
执行一次,数据库会插入两次
但是如果是这样,数据库就只插入一次
public function aa(){
$aa = Channel::create([
'Pname' => 'as45',
'Code' => '100',
'Cnname' => '11',
]);
echo $aa;
exit;
}
哈哈别疯,,冷静冷静代码还是要敲得
题主这个问题简单解释下,,首先$aa是个方法的句柄没问题吧(句柄可以理解为调用方法的变量)
第二个echo $aa 之后直接exit了,,相当于只调用了一次,,很好理解
第一个则吧数据return了,,这时候句柄到框架手里了,,题主测得结果时正常的,,说明框架调用了两次,,
至于为啥调用两次这就是底层处理的问题
直接return 执行,不用$aa