Laravel 我想在用户配置文件中显示原因,但在用户配置文件中显示原因id

Laravel 我想在用户配置文件中显示原因,但在用户配置文件中显示原因id,laravel,Laravel,它的代码只显示原因id,但不在用户配置文件中显示原因您的函数没有正确编码,因此只需使用此代码替换您的函数,并使用where()方法代替where public function getreason(Request $request){ $reasons = TradeReason::where('trade_id',$request->trade_id)->pluck("reason_id"); $reasondisplay = Reason::where "$r

它的代码只显示原因id,但不在用户配置文件中显示原因您的函数没有正确编码,因此只需使用此代码替换您的函数,并使用
where()
方法代替
where

public function getreason(Request $request){

    $reasons = TradeReason::where('trade_id',$request->trade_id)->pluck("reason_id");

    $reasondisplay = Reason::where "$reasons", '=', 'id')->pluck("reason");

    return response() -> json($reasondisplay);
}

列必须包含where函数中的
第一个
参数

public function getreason(Request $request){

    $reasons = TradeReason::where('trade_id',$request->trade_id)->pluck("reason_id");

    $reasondisplay = Reason::whereIn('id',$reasons)->pluck("reason");

    return response()->json($reasondisplay);
}
你最好能

商业理性

public function getreason(Request $request){
    $reasons = TradeReason::where('trade_id',$request->trade_id)->first();
    $reason = "";
    if($reasons){
        $reasondisplay = Reason::find($reasons->reason_id)->first();
        if($reasondisplay){
            $reason = $reasondisplay->reason;
        }
    }
    return response()->json(["reason"=>$reason]);
}
内部控制器

public function reason()
{
    return $this->hasOne('App\TradeReason','id','reason_id');
    //                                      ^      ^
    //                                      |      |____ 'local_key'
    //                                      |__'foreign_key'
}

您正在
$reasondisplay
中查询id为的数组。必须使用
where()
函数查询数组中的id并获取原因

public function getreason(Request $request){
    $reason = "";
    $tr = TradeReason::where('trade_id',$request->trade_id)->with("reason")->first();
    return response()->json(["reason"=>$tr->reason->reason]);
    //                                       ^          ^
    //                                       |          |___Column Name
    //                                       |__Relation Name
}

您可以参考laravel

请显示您的查看页面代码。您缺少“(”和双倒逗号,而不是单倒逗号。
$reasondisplay=Reason::where(“$reasons”、“=”、“id”)->pull(“reasons”);
$reasondisplay=reasons::where(“$reasons”、“=”、“id”)->pull(“reasons”);我尝试了这个,但没有显示原因这是reason的查看页面代码{!!Form::label('reason','Choose Reasions:')!!{{Form::select('reason',$Reasons,null,array('multiple'=>'multiple','name'=>'reason[],'class'=>'selectpicker','data width'=>'60%,'data live search'=>'true')}}太好了。请接受我的答案并向上投票:)作为感谢。是的,我想向上投票,但它不起作用,你能帮我吗?只需点击我答案旁边的上箭头:)很简单,不允许我离开。非常感谢。
public function getreason(Request $request){

    $reasons = TradeReason::where('trade_id',$request->trade_id)->pluck('reason_id');

    $reasondisplay = Reason::whereIn('id', $reasons)->pluck('reason');

    return response() -> json($reasondisplay);
}