du4373 2017-07-19 11:28
浏览 214
已采纳

使用Laravel Eloquent中另一个表的ID显示表的名称

Please, I have a function in my controller. I want to query the stock table to select the list of product_id and after select, it should go to product table to display the NAME of product to the user instead of product_id.

public function getStockList()
{
    $stock = DB::table("stocks")->pluck("product_id","product_id")->all();
    $products = DB::table("products")->pluck("name")->where('id', $stock);
    return view('shop.shop')->with(['stocks' => $stocks, 
    'stock' => $stock, 'products' => $products]);
}

My PHP blade has

{!! Form::select
(
    'stock',
    ['' => 'Select'] +$stock,'',
    array(
        'class'=>'form-control',
        'id'=>'country',
        'style'=>'width:350px;'
        )
)!!}

{!! Form::select
(
    'product_id',
    [''=>'Select Supplier'] + $products, null, 
    ['class'=>'form-control']
)!!}

Basically, I don't want product_id to be displayed to the user but the product name.

  • 写回答

2条回答 默认 最新

  • douzhangkui2467 2017-07-19 11:34
    关注

    Try this

    public function getStockList()
    {
        $stock = DB::table("stocks")->pluck("product_id");
        $products = DB::table("products")->whereIn('id', $stock)->pluck("name","id");
        return view('shop.shop')->with([
            'stocks'   => $stocks,
            'stock'    => $stock,
            'products' => $products
        ]);
    }
    

    Replace your product list select box with the following

    {!! Form::select('product_id',$products,null, ['class'=>'form-control','placeholder'=>'Select Products'])!!}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?