【问题标题】:How to show records from two different tables in same view in laravel如何在laravel的同一视图中显示来自两个不同表的记录
【发布时间】:2018-04-04 10:36:20
【问题描述】:

我在这里陷入了这个问题: 问题是我想从同一个视图中的两个不同表中加载 2 列值,并且我想在其中显示值的视图已经具有控制器方法: 我会用我的代码来解释你:

我的控制器方法:

                   public function pageListHere()
   {
                   $list = PageList::all();
                   return view('page-list',compact('list'));
}

这是我使用PageList的方法,模型表名是(page_master)。

我的看法是:

            @foreach($list as $key => $value)
            <tr>
            <input type="hidden" id="rwid" value="{{$value->id}}"/><td></td>
            <td><p data-placement="top" data-toggle="tooltip" title="" data-original-title="Tolltip">{{$value->page_name}}</p></td>
            <td>  <a href="" class="pglst-lnk">  {{$value->page_url}</a</td>
           <td>  

现在我想在刀片模板中再添加两个值,例如 {{$value-&gt;coupon_count}}{{$value-&gt;total sum}} 但这两个值在不同的表中 当我拥有相同的视图并且我已经定义了控制器方法时,如何从不同的表中获取这两个值:

任何帮助将不胜感激!

    class PageList extends Model
     {
     protected $table = 'page_master';

    protected $appends = ['page_particulars','page_coupon'];

    protected $fillable = ['business_id', 'page_url', 'page_name'];

   public function getpageParticularsAttribute(){


  }
public function getpageCouponAttribute(){

      }
  }

              class PageCoupon extends Model
               {
             protected $table = 'page_coupon';

         protected $fillable = ['page_id','code','is_ordered','user_limit'];

       }

第二个模型是:

               class Sale extends Model
               {
                protected $table = 'page_particulars';

protected $fillable = ['user_id','product_asin','page_expiry_date','market_place','promo_title','regular_price','promo_price','company_logo','coupon_file','email_from','email_subject','facebook_link','twitter_link','website_link','email_body'];

}

【问题讨论】:

  • 你能解释一下这两个表之间的关系吗.. 如果你提供更多信息,我可以帮助你

标签: php laravel logic


【解决方案1】:

您可以向另一个表添加关系 在您的模型中添加

public function particulars()
{
    return $this->hasOne('App\Sale','page_id');
}

and use 

$value->particulars->regular_price;

或者你可以使用 Eloquent append 向同一个模型添加新值

在你的模型中添加

  protected $appends = ['coupon_count','total_sum']

以及获取属性的函数

  public function getCouponCountAttribute(){
     //fetch from other table and return here for example
     return Coupon::where('page_id',$this->id)->count();
  }
  public function getTotalSumAttribute(){
     //fetch from other table and return here
  }

【讨论】:

  • 如何将新值附加到同一模型!你能给我看看吗
  • 我需要更多关于如何获得价值的信息才能清楚地解释......
  • 我已在我的模型中添加了您的答案,请参阅
  • 是的,你可以在函数内部查询正确的值。我用一个简单的例子更新了答案
  • 你能告诉我优惠券是如何存储的以及你是如何计算总价值的(与存储值的表格)
猜你喜欢
  • 2020-08-20
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
  • 1970-01-01
  • 2016-01-30
  • 1970-01-01
  • 2015-07-12
  • 1970-01-01
相关资源
最近更新 更多