Server : nginx/1.20.1
System : Linux iZ2ze9ojcl78uluczwag69Z 4.18.0-240.22.1.el8_3.x86_64 #1 SMP Thu Apr 8 19:01:30 UTC 2021 x86_64
User : www ( 1000)
PHP Version : 7.3.28
Disable Function : passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Directory :  /www/wwwroot/0531yanglao.com/app/common/model/
Upload File :
Current Directory [ Writeable ] Root Directory [ Writeable ]


Current File : /www/wwwroot/0531yanglao.com/app/common/model/Materials.php
<?php
namespace app\common\model;

use app\common\utils\Arr;
use think\Model;
use think\model\concern\SoftDelete;

/**
 * 材料模型
 * @author aaron
 *
 */
class Materials extends BaseModel
{
    protected $pk = 'materials_id';

    use SoftDelete;
    protected $deleteTime = 'delete_time';
    protected $defaultSoftDelete = 0;

    /**
     * @Description 更新操作日志
     * @param Model $model
     * @return void
     * @author  Aaron
     * @date  2022/9/13 09:18
     */
    /*public static function onBeforeUpdate(Model $model): void
    {
       $origin_data = self::detail($model->materials_id)->toArray();
       $update_data = $model->toArray();
       unset($update_data['type']);
       $data = [
           'user_id'    =>  admin_user_id(),
           'origion_data'    =>  var_export($origin_data, true),
           'update_data'    =>  var_export($update_data, true),
           'type'   =>  2,
           'controller_type'   =>  1,
       ];
       ActionRecord::add($data);
    }*/

    public function unit()
    {
        return $this->belongsTo(Unit::class, 'unit_id')->bind(['unit_title'=>'title']);
    }

    public function user()
    {
        return $this->belongsTo(AdminUser::class, 'user_id');
    }



    public function getCityNameAttr($value, $data)
    {
        $attr = \think\facade\Config::get('system');

        return $data['city_id'] ? $attr['city'][$data['city_id']] : '';
    }

    public function getCategoryNameAttr($value, $data)
    {
        $catgory = Category::getCrumbs($data['category_id']);
        if($catgory) {
            $catgory = implode("/", Arr::array_col_values($catgory, 'title'));
        }
        return $catgory;;
    }

    public function getDeliveryCompanyNameAttr($value, $data)
    {
        $catgory = Category::getCrumbs($data['delivery_company']);
        if($catgory) {
            //$catgory = implode("/", Arr::array_col_values($catgory, 'title'));
            $catgory = Arr::array_col_values($catgory, 'title');
        }
        return $catgory;;
    }

    public function getUnitNameAttr($value, $data)
    {
        $category = Category::detail($data['category_id'], ['unit']);

        return $category['unit']['title'];
    }
}