orchidsoftware / platform

Orchid is a @laravel package that allows for rapid application development of back-office applications, admin/user panels, and dashboards.
https://orchid.software
MIT License
4.32k stars 638 forks source link

В Laravel 11 displayAppend не работает, как описано в примере #2851

Open vserdobintsev opened 1 month ago

vserdobintsev commented 1 month ago
          Example:
declare(strict_types=1);

namespace App;

use Orchid\Platform\Models\User as Authenticatable;

class User extends Authenticatable
{
    /**
     * @return string
     */
    public function getFullAttribute(): string
    {
        return $this->attributes['name'] . ' (' . $this->attributes['email'] . ')';
    }
}

Usage:

Relation::make('users.')
    ->fromModel(User::class, 'name')
    ->displayAppend('full')
    ->multiple();

Screenshot: image

Originally posted by @tabuna in https://github.com/orchidsoftware/platform/issues/877#issuecomment-558346090

vserdobintsev commented 1 month ago

Аксессоры, к тому-же, теперь иначе описываются: https://laravel.com/docs/11.x/eloquent-mutators#defining-an-accessor

vserdobintsev commented 1 month ago

При вызове displayAppend и передаче ему имени аксессора, отображается то, что указывалось во втором аргументе fromModel. Единственное как работает displayAppend: указание альтернативного атрибута модели.