GithubHelp home page GithubHelp logo

Comments (2)

lee-to avatar lee-to commented on June 13, 2024 2

Интересная задача и в коробке сейчас нет быстрого сахара но вы можете легко сделать через asyncMethod

Пример ресурса

public function fields(): array
{
    return [
        Grid::make([
            Column::make([
                ID::make()->sortable(),
                Text::make('Наименование команды', 'team_title')->required(),
                Number::make('Номер состава', 'team_number'),
                BelongsTo::make('Турнир', 'tournament', resource: new TournamentResource())
                    ->searchable(),
            ]),
            Column::make([
                BelongsToMany::make('Участники', 'users', resource: new UserResource())
                    ->fields([
                        Switcher::make('Подтвержден', 'approved')->updateOnPreview(MoonShineRouter::asyncMethodClosure(
                                                    'updatePivot',
                                                    params: fn($data) => ['parent' => $data->pivot->tournamen_team_id]
                                                )),
                    ])
                    ->searchable(),
            ])
        ])
    ];
}

public function updatePivot(MoonShineRequest $request): MoonShineJsonResponse
    {
        $item = TournamentTeam::query()
            ->findOrFail($request->get('parent'));

        $column = (string) $request->str('field')->remove('pivot.');

        $item-> users()->updateExistingPivot($request->get('resourceItem'), [
            $column => $request->get('value'),
        ]);

        return MoonShineJsonResponse::make()
            ->toast('Success');
    }

from moonshine.

Victor-Fyodorov avatar Victor-Fyodorov commented on June 13, 2024

Большое спасибо за помощь!

from moonshine.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.