Subversion-Projekte lars-tiefland.webanos.marine-sales.de

Revision

Revision 82 | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?php

    namespace App\Models;

    use Illuminate\Database\Eloquent\Casts\Attribute;
    use Illuminate\Database\Eloquent\Factories\HasFactory;
    use Illuminate\Database\Eloquent\Model;

    /**
 * App\Models\PriceAgency
 *
 * @property int $id
 * @property int $shop_id
 * @property string $name
 * @property int $records
 * @property string $logo_url
 * @property string $home_url
 * @property string $csv_url
 * @property string $trigger_url
 * @property string $contact_name
 * @property string $contact_email
 * @property string $contact_phone
 * @property string $voting_url
 * @property string $access_url
 * @property string $access_user
 * @property string $access_password
 * @property string $comment
 * @property string $locked_manufacturers
 * @property string $config
 * @property int $status
 * @property int $only_deliverable
 * @property float $min_price
 * @property string|null $last_updated_at
 * @property string|null $last_access_at
 * @property string $last_access_by
 * @property string $created_by
 * @property string $updated_by
 * @property \Illuminate\Support\Carbon|null $created_at
 * @property \Illuminate\Support\Carbon|null $updated_at
 * @method static \Database\Factories\PriceAgencyFactory factory($count = null, $state = [])
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency newModelQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency newQuery()
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency query()
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereAccessPassword($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereAccessUrl($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereAccessUser($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereComment($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereConfig($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereContactEmail($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereContactName($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereContactPhone($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereCreatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereCreatedBy($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereCsvUrl($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereHomeUrl($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereId($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereLastAccessAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereLastAccessBy($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereLastUpdatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereLockedManufacturers($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereLogoUrl($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereMinPrice($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereName($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereOnlyDeliverable($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereRecords($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereShopId($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereStatus($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereTriggerUrl($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereUpdatedAt($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereUpdatedBy($value)
 * @method static \Illuminate\Database\Eloquent\Builder|PriceAgency whereVotingUrl($value)
 * @mixin \Eloquent
 */
class PriceAgency extends Model
    {
        use HasFactory;

        protected $fillable = [
            "only_deliverable",
            "min_price",
            "access_url",
            "access_user",
            "access_password",
            "comment",
            "contact_name",
            "contact_email",
            "contact_phone",
        ];

        protected function lockedManufacturers(): Attribute
        {
            return Attribute::make(
                get: function ( string $value )
                {
                    $manufacturer = new Manufacturer();
                    if ( $this->shop_id > 1 )
                    {
                        $manufacturer->setConnection( 'shop' . $this->shop_id );
                    }
                    $manufacturer->whereIn( "id", json_decode( $value, true ) )->get();
                    return $manufacturer;
                }

            );
        }
    }