48 lines
		
	
	
		
			953 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			953 B
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php namespace Illuminate\Database\Query\Processors;
 | |
| 
 | |
| use Illuminate\Database\Query\Builder;
 | |
| 
 | |
| class PostgresProcessor extends Processor {
 | |
| 
 | |
| 	/**
 | |
| 	 * Process an "insert get ID" query.
 | |
| 	 *
 | |
| 	 * @param  \Illuminate\Database\Query\Builder  $query
 | |
| 	 * @param  string  $sql
 | |
| 	 * @param  array   $values
 | |
| 	 * @param  string  $sequence
 | |
| 	 * @return int
 | |
| 	 */
 | |
| 	public function processInsertGetId(Builder $query, $sql, $values, $sequence = null)
 | |
| 	{
 | |
| 		$results = $query->getConnection()->selectFromWriteConnection($sql, $values);
 | |
| 
 | |
| 		$sequence = $sequence ?: 'id';
 | |
| 
 | |
| 		$result = (array) $results[0];
 | |
| 
 | |
| 		$id = $result[$sequence];
 | |
| 
 | |
| 		return is_numeric($id) ? (int) $id : $id;
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Process the results of a column listing query.
 | |
| 	 *
 | |
| 	 * @param  array  $results
 | |
| 	 * @return array
 | |
| 	 */
 | |
| 	public function processColumnListing($results)
 | |
| 	{
 | |
| 		$mapping = function($r)
 | |
| 		{
 | |
| 			$r = (object) $r;
 | |
| 
 | |
| 			return $r->column_name;
 | |
| 		};
 | |
| 
 | |
| 		return array_map($mapping, $results);
 | |
| 	}
 | |
| 
 | |
| }
 |