You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

47 lines
1.2 KiB

<?php
namespace App;
use App\User;
use Illuminate\Database\Eloquent\Model;
class Outlet extends Model
{
protected $fillable = [
'name', 'address', 'latitude', 'longitude', 'creator_id',
];
public function getNameLinkAttribute()
{
$title = __('app.show_detail_title', [
'name' => $this->name, 'type' => __('outlet.outlet'),
]);
$link = '<a href="'.route('outlets.show', $this).'"';
$link .= ' title="'.$title.'">';
$link .= $this->name;
$link .= '</a>';
return $link;
}
public function creator()
{
return $this->belongsTo(User::class);
}
public function getCoordinateAttribute()
{
if ($this->latitude && $this->longitude) {
return $this->latitude.', '.$this->longitude;
}
}
public function getMapPopupContentAttribute()
{
$mapPopupContent = '';
$mapPopupContent .= '<div class="my-2"><strong>'.__('outlet.name').':</strong><br>'.$this->name.'</div>';
$mapPopupContent .= '<div class="my-2"><strong>'.__('outlet.coordinate').':</strong><br>'.$this->coordinate.'</div>';
return $mapPopupContent;
}
}