12月
10
虽然,mariadb 可以替代 mysql,但某些函数,mariadb 是没有的。比如,ST_Distance_Sphere
。当然,mariadb 拥有的函数 mysql 也不一定有。
请参考:
https://mariadb.com/kb/en/library/function-differences-between-mariadb-102-and-mysql-57/
https://mariadb.com/kb/en/library/mysqlmariadb-spatial-support-matrix/
看着 ST_Distance_Sphere 很好用,却不能用。那也没办法,可以试试 ST_DISTANCE
函数。
eg:
``
select ST_Distance_Sphere(ST_GeomFromText('Point(115.452081 30.486021)'), position) as distance from ball_invitations
select (ST_Distance(GeomFromText('Point(115.452081 30.486021)'), position) / 0.0111195) as distance from ball_invitations
``
参考
https://mariadb.com/kb/en/library/st_distance/
https://dev.mysql.com/doc/refman/5.7/en/spatial-convenience-functions.html
http://www.innomysql.com/mysql_gis_lbs/
https://blog.csdn.net/zhouzhiwengang/article/details/53612481
11月
05
操作步骤
- 将 .pem 文件保存到本地磁盘中。
- 添加命令。
ssh-add -K /path/to/private_key
- 运行 ForkLift,增加一个配置。选择使用 FTPS,在密码处选择 .pem 文件即可。
https://binarynights.com/support
终端中使用命令登录服务器
sudo ssh -i key.pem root@ip
权限不够,带上 sudo
也可以这样使用
ssh-add -K /path/to/private_key
ssh root@ip
10月
26
父元素设置了 flex 布局
display: flex;
align-items: center;
如何让某个子元素靠右呢
方法一
flex: 1;
text-align: right;
或
方法二
margin-left: auto;
10月
22
通常处理:
json_encode($unicode, JSON_UNESCAPED_UNICODE);
http://php.net/manual/en/function.json-encode.php
laravel 可以这样处理
return response()->json($data)->setEncodingOptions(JSON_UNESCAPED_UNICODE);
10月
15
\r: 匹配一个回车符
\n: 换行符匹配;
\s:匹配任何空白字符,包括空格、制表符、换页符等;
\r|\n|\\s
在线替换工具
10月
11
- 去除镜像
composer config -g --unset repos.packagist
- 添加全局镜像(两个选一个)
composer config -g repo.packagist composer https://packagist.laravel-china.org
composer config -g repo.packagist composer https://packagist.phpcomposer.com
# 阿里云镜像, laravel-china 已经作废
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
- 当前项目添加镜像
composer config repo.packagist composer https://packagist.laravel-china.org
- 查看镜像
composer config -l -g
娃哈哈
https://learnku.com/laravel/t/30710
https://packagist.laravel-china.org/
https://pkg.phpcomposer.com/#how-to-use-packagist-mirror
10月
10
10月
09
Laravel有非常强大的ORM,但是对于刚接触ORM的我来说,在理解上还是有点障碍的,开启打印SQL的功能能帮助更好的理解。
打印SQL默认是关闭的,需要在 /vendor/illuminate/database/Connection.php中打开。
protected $loggingQueries = true;
之后可在代码中使用了:
$res = User::where('id', 100)->first();
$log = DB::getQueryLog();
var_dump($log);
如果不想开启但需要临时查看,可以这样操作:
DB::connection()->enableQueryLog();
$res = User::where('id', 100)->first();
$log = DB::getQueryLog();
var_dump($log);
这样就这样。但是得到的语句与参数是分开的,不方便去观看以及使用。所以额外加了一个函数来处理这种情况。通常,我们会用到辅助函数类,可以放到这里。
function transSql($queries)
{
if(!$queries)
return FALSE;
$sqls = [];
foreach($queries as $query)
{
$sql = [
'sql' => vsprintf(str_replace('?', '%s', $query['query']), $query['bindings']),
'time' => $query['time']
];
$sqls[] = $sql;
}
return $sqls;
}
使用:
DB::connection()->enableQueryLog();
$res = User::where('id', 100)->first();
$log = DB::getQueryLog();
$log = transSql($log);
var_dump($log);
这里的sql语句可能不止一条,通过查看sql的条数,可以看到查询的详细情况。
相关
https://laravel-china.org/articles/5166/quick-print-laravel-database-query-sql-statement