Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何从表中打印数据_Laravel_Laravel 5 - Fatal编程技术网

Laravel 如何从表中打印数据

Laravel 如何从表中打印数据,laravel,laravel-5,Laravel,Laravel 5,1) 这是我的订单表: Schema::create('orders', function (Blueprint $table) { $table->increments('id'); $table->integer('user_id')->unsigned(); $table->integer('category_id')->unsigned(); $table->integer('produc

1) 这是我的订单表:

Schema::create('orders', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('user_id')->unsigned();
        $table->integer('category_id')->unsigned();
        $table->integer('product_id')->unsigned();
        $table->integer('variant_id')->unsigned();
        $table->integer('quantity');
        $table->integer('total');
        $table->timestamps();
        $table->foreign('user_id')->references('id')->on('users');
        $table->foreign('category_id')->references('id')->on('categories');
        $table->foreign('product_id')->references('id')->on('products');
        $table->foreign('variant_id')->references('id')->on('variants');
    });
2) 这是我订购的刀片:

<tbody>

        @foreach($orders as $order)
        <tr>
        <td>{{$order->variant_name}}</td>
        <td>{{$order->quantity}}</td>
        <td>{{$order->total}}/-</td>
        </tr>
        @endforeach 
    </tbody>
现在我想在我的刀片文件中打印变体名称,但我唯一能打印的是id。我试过很多方法,但仍然得不到确切的答案。我知道可以用外键完成,但如何使用这些外键打印变量名称或变量表中的任何内容。

您可以:

刀片

<tbody>
    @foreach($orders as $order)
    <tr>
    <td>{{$order->variants->variant_name}}</td>
    <td>{{$order->quantity}}</td>
    <td>{{$order->total}}/-</td>
    </tr>
    @endforeach 
</tbody>
订单模式

public function variants(){
   return $this->belongsTo(Variant::class, 'variant_id');
}

public function getList()
{
   return self::with('variants')->where('user_id', auth()->user()->id)->get();
}
你可以:

刀片

<tbody>
    @foreach($orders as $order)
    <tr>
    <td>{{$order->variants->variant_name}}</td>
    <td>{{$order->quantity}}</td>
    <td>{{$order->total}}/-</td>
    </tr>
    @endforeach 
</tbody>
订单模式

public function variants(){
   return $this->belongsTo(Variant::class, 'variant_id');
}

public function getList()
{
   return self::with('variants')->where('user_id', auth()->user()->id)->get();
}

请注意,每个
订单
都属于一个
变体
。因此,在您的
订单
模型中,在
订单
模型和
变体
模型之间创建如下关系:

public function variants(){
    return $this->belongsTo(Variant::class,'variant_id','id');
}
既然已经建立了关系,我们就可以在拥有
Order
类的对象时使用它。让我们在循环中使用它:

<tbody>
    @foreach($orders as $order)
        <tr>
            <td>{{$order->variants()->first()->variant_name}}</td>
            <td>{{$order->quantity}}</td>
            <td>{{$order->total}}/-</td>
        </tr>
    @endforeach 
</tbody>

@foreach($orders作为$order)
{{$order->variants()->first()->variant_name}
{{$order->quantity}
{{$order->total}/-
@endforeach

这应该可以解决问题。

请注意,每个
订单
都属于一个
变体。因此,在您的
订单
模型中,在
订单
模型和
变体
模型之间创建如下关系:

public function variants(){
    return $this->belongsTo(Variant::class,'variant_id','id');
}
既然已经建立了关系,我们就可以在拥有
Order
类的对象时使用它。让我们在循环中使用它:

<tbody>
    @foreach($orders as $order)
        <tr>
            <td>{{$order->variants()->first()->variant_name}}</td>
            <td>{{$order->quantity}}</td>
            <td>{{$order->total}}/-</td>
        </tr>
    @endforeach 
</tbody>

@foreach($orders作为$order)
{{$order->variants()->first()->variant_name}
{{$order->quantity}
{{$order->total}/-
@endforeach

这应该可以解决问题。

不,不起作用。错误:“正在尝试获取非对象的属性”。调用模型[App\Models\Order]上的未定义关系[variants]。感谢慷慨的人员,这次成功了。不,没用。错误:“正在尝试获取非对象的属性”。调用模型[App\Models\Order]上的未定义关系[variants]。感谢慷慨的人员,这次成功了。语法错误“,”意外返回读取并理解Laravel关系语法错误“,”意外返回读取并理解Laravel关系