我奔跑
php artisan make:model Models/Test -m
创建迁移文件
Schema::create('tests', function (Blueprint $table) {
$table->bigIncrements('id');
$table->double('longitude', 9, 4);
$table->timestamps();
});
运行迁移并编辑模型
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Test extends Model
{
protected $fillable = ['longitude'];
//
}
我跑步时
$marker = Test::firstOrCreate([
'longitude' => floatval(19.9276),
]);
echo $marker->id;
我总是看到新条目添加到数据库。
当我将列类型更改为varchar时,不会发生问题。
答案 0 :(得分:0)
您使用的是错误的,如果要使用firstOr方法,则必须提供一个值来检查是否存在。第一个数组用于搜索现有值,另一个数组用于搜索新值:
$marker = Test::firstOrCreate(
search values ->
[
'longitude' => floatval(19.9276),
],
[
new values ->
]
);
echo $marker->id;
希望这会有所帮助