Locker\Repository\Statement\EloquentInserter::insert PHP Method

insert() public method

Inserts statements with the given options.
public insert ( array $statements, StoreOptions $opts )
$statements array
$opts StoreOptions
    public function insert(array $statements, StoreOptions $opts)
    {
        $models = [];
        $ids = [];
        $assoc_statements = [];
        foreach ($statements as $statement) {
            $assoc_statements[$statement->id] = $statement;
        }
        $duplicateStatements = $this->where($opts)->whereIn('statement.id', array_keys($assoc_statements))->where('active', true)->get();
        $duplicatedIds = [];
        foreach ($duplicateStatements as $duplicate) {
            $this->compareForConflict($assoc_statements[$duplicate->statement['id']], $this->formatModel($duplicate));
            $duplicatedIds[] = $duplicatedIds;
        }
        $models = [];
        foreach ($assoc_statements as $statement) {
            if (!in_array($statement->id, $duplicatedIds)) {
                $models[] = $this->constructModel($statement, $opts);
            }
        }
        return $this->insertModels($models, $opts);
    }