48 lines
1.4 KiB
PHP
48 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Google\Cloud\Firestore\FirestoreClient;
|
|
|
|
class ParkingLot extends Model
|
|
{
|
|
protected $fillable = [ 'firebase_id', 'stall_coordinates', 'reference_image', 'number_of_columns', 'name', 'ref_coords' ];
|
|
|
|
public function get_coordinates(){
|
|
return json_decode( $this->stall_coordinates );
|
|
}
|
|
|
|
public function set_coordinates( $coordinates ){
|
|
$this->stall_coordinates = json_encode( $coordinates );
|
|
$this->save();
|
|
}
|
|
|
|
public static function getFB(){
|
|
$db = new FirestoreClient();
|
|
|
|
$documents = $db->collection('lots')->documents();
|
|
$docarr = [];
|
|
foreach( $documents as $doc ){
|
|
if ( $doc->exists() ){
|
|
array_push($docarr, ['id' => $doc->id(), 'data'=>$db->collection('lots')->document($doc->id())->collection('info')->document('lotInfo')->snapshot()->data()]);
|
|
}
|
|
};
|
|
|
|
return $docarr;
|
|
}
|
|
|
|
public static function getFBbyID($id){
|
|
$db = new FirestoreClient();
|
|
|
|
$documents = $db->collection('lots')->documents();
|
|
foreach( $documents as $doc ){
|
|
if ( $doc->exists() && $doc->id() === (string) "Lot".$id ){
|
|
return ['id' => $doc->id(), 'data'=>$db->collection('lots')->document($doc->id())->collection('info')->document('lotInfo')->snapshot()->data()];
|
|
}
|
|
};
|
|
|
|
return null;
|
|
}
|
|
}
|