我最近开始使用Eloquent.
当我使用PHP Active Record时,有一个很好的函数可以检查记录是从数据库加载还是新实例.在Eloquent中我可以使用类似的东西吗?
新的我的意思是:
$article = new Article;
而数据库中的一个就是
$article = Article::find(1);
Hai*_*ood 96
所有laravel型号都有一个->exists属性.
更具体地说,如果模型是从数据库加载的,或者自创建以来已保存到数据库,则exists属性将为true; 否则它将是假的.
如果您想知道模型是否自从数据库中获取后已被修改,或者根本没有保存(也就是说它需要保存),那么您可以使用该->isDirty()功能.
Laravel API是提供此类信息的有用位置:http://laravel.com/api/4.2/Illuminate/Database/Eloquent/Model.html#method_isDirty 并且通常比默认文档更加轻松.
Did*_*olo 33
您的模型对象具有为此精确设计的属性.它是最近处理的:
$item = Item::firstOrCreate(['title' => 'Example Item']);
if ($item->wasRecentlyCreated === true) {
    // item wasn't found and have been created in the database
} else {
    // item was found and returned from the database
}