laravel belongsTo()&hasOne()用法详解

在某一个class里面,class_name所对应的表为主表(父)

关系函数方法里面的第一个参数所对应的表为从属表(子)

即为与主表相关联的表。

$has~

1、外键保存在关联表中;  
2、保存时自动更新关联表的记录;  
3、删除主表记录时自动删除关联记录。

$belongsTo

1、外键放置在主表中;  
2、保存时不会自动更新关联表的记录;  
3、删除时也不会更新关联表的记录。



namespace App;
use Illuminate\Database\Eloquent\Model;

class FalseDeliveryGoods extends Model
{
    protected $table = 'false_delivery_goods';
    protected $fillable = ['id',
        'goods_id',
        'mall_id',
        'sample_total',
        'take_sample_total',
        'task_status',
        'start_time',
        'yunying_name',
        'fake_total',
        'end_time',
        'operator_name'
    ];
    public function goods()
    {
        return $this->hasOne('App\ShopGoods', 'id', 'goods_id');
    }

                                                                                              

传到 hasOne 方法里的第一个参数是关联模型的类名称。定义好关联之后,

就可以使用 Eloquent 的动态属性取得关联对象:

>hasOne('class_name', 'foreign_key', 'local_key');

 

namespace App;

use Illuminate\Database\Eloquent\Model;

class ShopGoods extends Model

{

         protected $connection = 'shop';

         protected $table = 'goods';

         public function mall()

         {

                   return  $this->belongsTo('App\Mall');

         }

}


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值