首页 > 解决方案 > Laravel 8:在类之间发送请求数据

问题描述

我很难在类之间发送输入数据。

我有一个类,其方法接收正常工作的文本输入字段数据:

<?php

namespace App\Http\Controllers\postCode_related;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Http\Requests\estate_agent_related\validation\branch_checkVal;


class postCode_input extends Controller
{
    public function retrieve(branch_checkVal $request)
    {
        $validated = $request->validated();
        $user_input_postcode = $request->input('brach_postcode');
        $postcode = str_replace(' ', '', $user_input_postcode);
        return $postcode;
    }
}

我有另一个类,它有一个扩展上面类的方法,但是,我不知道如何通过下面的类将输入数据发送到上面的类方法:

<?php

namespace App\Http\Controllers\postCode_related;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Http\Controllers\postCode_related\postCode_input;

class postCode_check extends postCode_input 
{
    public function check(postCode_input $postCode_input)
    {
        $postCode_input = new postCode_input;
        return $postCode_input->retrieve();
        // return Estate_agent::where('postcode', $postCode_input)->exists();
    }
}

我希望我已经解释得足够好。如果没有,请告诉我,我会提供更多信息。

谢谢

标签: php

解决方案


我的理解是你想在你的检查函数中获得检索函数的结果,因为你已经扩展了基类,所以可以在扩展类的同一个实例上调用检索方法。

<?php

namespace App\Http\Controllers\postCode_related;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Http\Controllers\postCode_related\postCode_input;

class postCode_check extends postCode_input 
{
    public function check(postCode_input $postCode_input)
    {
        // you don't need to intitalize your primary class
        // $postCode_input = new postCode_input();

        // you can call the retrieve function on $this instance 
        return $this->retrieve($postCode_input);
        // return Estate_agent::where('postcode', $postCode_input)->exists();
    }
}

另一种方法可能是在 check 方法上键入提示请求实例

 public function check(postCode_input $postCode_input, Request $request)
    {
         //Access the data like this 
         $request->input('name');
    }

推荐阅读