当我尝试使用 isEmpty 函数检查模型是否为空时,Laravel 5.6 中出现错误。
模型:
namespace App\Models\Projectmanagement;
use Illuminate\Database\Eloquent\Model;
class Projects extends Model
{
protected $table = 'projects';
public $timestamps = false;
}
控制器:
public function create()
{
$project = new Projects;
return view('pages.projectmanagement.projects.edit', [
'project' => $project,
'companies' => Company::all(),
]);
}
看法:
<form method="post">
{{ csrf_field() }}
@if($project->isEmpty())
@method('PUT')
@endif
</form>
这个想法是我重用 edit.blade 视图文件来创建和更新数据,所以我需要检查模型是否为空以在视图文件中进行适当的更改。
但是在这种情况下,Laravel 5.6 会抛出错误:
Method Illuminate\Database\Query\Builder::isEmpty does not exist. (View: /var/www/resources/views/pages/projects/edit.blade.php)
另一种方法是使用Model
exists
变量。例如:
//Case 1
$project = new Projects;
$project->exists; //Has false
//Case 2
$project = Projects::first();
$project->exists; //Has true
参考:https : //laravel.com/api/5.6/Illuminate/Database/Eloquent/Model.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句