laravel model 技巧

1、设置默认属性返回值

 protected $attributes = [
        'goal_distance' => '100',
        'goal_time' => '0',
        'reaction_force' => '0',
        'handle_height' => '0'
    ];

通过withDefault()当查询未空时返回上面数据

 public function preplan()
    {
        return $this->hasOne(WalktrTrainingendparam::class, 'user_id', 'user_id')
            ->orderBy('user_id', 'desc')
            ->orderBy('timestamp', 'desc')
            ->select('user_id', 'goal_distance', 'goal_time', 'reaction_force', 'handle_height')
            ->withDefault();
    }

2、设置返回数据类型

protected $casts = [
        'goal_distance' => 'integer',
        'goal_distance' => 'integer',
        'reaction_force' =>'integer',
        'back_reaction_force' =>'integer',
        'handle_height' => 'integer',
        'recommended_goal_distance' => 'integer',
        'recommended_goal_time' => 'integer'
    ];

3、多数据库连接

  public $table = 'walktr_facility';//表名
  protected $connection = 'pgsql_walk';//database.php中数据库名

  database.php中

        'pgsql' => [
            'driver' => 'pgsql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '5432'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],
        'pgsql_walk' => [
            'driver' => 'pgsql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST_WALK', '127.0.0.1'),
            'port' => env('DB_PORT_WALK', '5432'),
            'database' => env('DB_DATABASE_WALK', 'forge'),
            'username' => env('DB_USERNAME_WALK', 'forge'),
            'password' => env('DB_PASSWORD_WALK', ''),
            'charset' => 'utf8',
            'prefix' => '',
            'prefix_indexes' => true,
            'schema' => 'public',
            'sslmode' => 'prefer',
        ],

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值