firstOrCreate непрерывная вставка новой записи - PullRequest
1 голос
/ 18 марта 2019

я бегу

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, проблема не возникает.

1 Ответ

0 голосов
/ 18 марта 2019

вы используете его неправильно, если вы хотите использовать метод firstOr, вы должны указать значение для проверки на наличие.первый массив для значений для поиска существующих, другой для новых значений:

    $marker = Test::firstOrCreate(
search values ->
 [
    'longitude' => floatval(19.9276),
 ],
 [
new values ->
 ]

);
echo $marker->id;

надеюсь, это поможет

...