Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Illuminate\Database\Query\Processors;
4
 
5
use Illuminate\Database\Query\Builder;
6
 
7
class PostgresProcessor extends Processor
8
{
9
    /**
10
     * Process an "insert get ID" query.
11
     *
12
     * @param  \Illuminate\Database\Query\Builder  $query
13
     * @param  string  $sql
14
     * @param  array  $values
15
     * @param  string|null  $sequence
16
     * @return int
17
     */
18
    public function processInsertGetId(Builder $query, $sql, $values, $sequence = null)
19
    {
20
        $connection = $query->getConnection();
21
 
22
        $connection->recordsHaveBeenModified();
23
 
24
        $result = $connection->selectFromWriteConnection($sql, $values)[0];
25
 
26
        $sequence = $sequence ?: 'id';
27
 
28
        $id = is_object($result) ? $result->{$sequence} : $result[$sequence];
29
 
30
        return is_numeric($id) ? (int) $id : $id;
31
    }
32
 
33
    /**
34
     * Process the results of a column listing query.
35
     *
36
     * @param  array  $results
37
     * @return array
38
     */
39
    public function processColumnListing($results)
40
    {
41
        return array_map(function ($result) {
42
            return ((object) $result)->column_name;
43
        }, $results);
44
    }
45
}