Skip to content

1.0.1

Choose a tag to compare

@akbarali1 akbarali1 released this 01 Apr 11:20
· 19 commits to main since this release

readonly supported

class StorePartnersActionData extends \Akbarali\ActionData\ActionDataBase
{
    public readonly int $id;

    protected function prepare(): void
    {
        $this->rules = [
            'id'          => 'nullable|numeric|exists:potential_partner,id',
        ];
    }
}

class PartnerController extends Controller{

    public function update(int $id, Request $request): RedirectResponse
    {
       try {
            $request->request->set('id', $id);
            $this->storePartner(StorePartnersActionData::fromRequest($request)->updated());
            return to_route('page.index')->with('message', trans('all.updated'));
        } catch (OperationException|ActionDataException|QueryException $e) {
            return back()->withInput()->withErrors($e->getMessage());
       }
    }
    
    public function storePartner(StorePotentialPartnersActionData $actionData): RedirectResponse
    {
        $actionData->id = 1; // Exception: Error
    }
}

Error: Cannot modify readonly property App\ActionData\StorePartnersActionData::$id