如何根据unix中的时间戳对文件进行排序?我需要根据文件的时间对文件进行排序.
如何从MySQL命令行客户端更改root
MySQL用户的密码null
- 意味着没有密码或''
- ?
我正在尝试将表示组件与容器组件分开.我有一个SitesTable
和一个SitesTableContainer
.容器负责触发redux操作以基于当前用户获取适当的站点.问题是在最初呈现容器组件之后,异步获取当前用户.这意味着容器组件不知道它需要在其componentDidMount
函数中重新执行代码,这将更新要发送给的数据SitesTable
.我想我需要在其中一个props(用户)更改时重新呈现容器组件.我该怎么做?
class SitesTableContainer extends React.Component {
static get propTypes() {
return {
sites: React.PropTypes.object,
user: React.PropTypes.object,
isManager: React.PropTypes.boolean
}
}
componentDidMount() {
if (this.props.isManager) {
this.props.dispatch(actions.fetchAllSites())
} else {
const currentUserId = this.props.user.get('id')
this.props.dispatch(actions.fetchUsersSites(currentUserId))
}
}
render() {
return <SitesTable sites={this.props.sites}/>
}
}
function mapStateToProps(state) {
const user = userUtils.getCurrentUser(state)
return {
sites: state.get('sites'),
user,
isManager: userUtils.isManager(user)
}
}
export default connect(mapStateToProps)(SitesTableContainer);
Run Code Online (Sandbox Code Playgroud) 我有三个主表的数据库:users
,teams
,和folders
两个结表连接,users_teams
和teams_folders
.用户和团队之间以及团队和文件夹之间存在多对多关系(用户可以在多个团队中,团队可以拥有多个文件夹).
Sequelize在管理用户团队和团队文件夹关系方面做得非常出色,但我找不到在用户和文件夹之间建立关系的方法.
有没有办法连接两个连接表而不诉诸原始SQL?
似乎没有办法优雅地或以合理的步骤完成.我曾尝试类似的方法user.getFolders()
,Folder.findAll({ include: [User] })
但Sequelize似乎并不能够理解三个层次结构.
我正在尝试使用laravel 4在我的网站中使用cartalyst哨兵2.基本上我不明白如何实现权限.
我见过的关于组权限的示例指定以下示例:
{
"name" : "Administrator",
"permissions" :
{
"user.create" : 1,
"user.delete" : 1,
"user.view" : 1,
"user.update" : 1
}
}
Run Code Online (Sandbox Code Playgroud)
这是为管理员组设置权限.但这些权限设置在哪里?
在表'groups'中有一个称为权限的字段,它是一个文本字段 - 它们是否设置在那里 - 如果是这样的话?或者这些设置在模型或控制器中?
任何人都可以指出我如何在laravel 4应用程序中使用?我已经阅读了支持文档的功能,但我不知道如何设置数据以使函数工作.
我正在开发一个关于Laravel 5.5的应用程序,我面临着一个特定查询范围的问题.我有以下表结构(省略了一些字段):
orders
---------
id
parent_id
status
Run Code Online (Sandbox Code Playgroud)
该parent_id
列引用id
同一个表中的.我有这个查询范围来筛选没有任何子代的记录:
public function scopeNoChildren(Builder $query): Builder
{
return $query->select('orders.*')
->leftJoin('orders AS children', function ($join) {
$join->on('orders.id', '=', 'children.parent_id')
->where('children.status', self::STATUS_COMPLETED);
})
->where('children.id', null);
}
Run Code Online (Sandbox Code Playgroud)
单独使用时,此范围可正常工作.但是,如果我尝试将它与任何其他条件组合,它会抛出一个SQL异常:
Order::where('status', Order::STATUS_COMPLETED)
->noChildren()
->get();
Run Code Online (Sandbox Code Playgroud)
导致这个:
SQLSTATE [23000]:完整性约束违规:1052 where子句中的列'status'不明确
我发现了两种避免错误的方法:
做这样的事情有效:
Order::where('orders.status', Order::STATUS_COMPLETED)
->noChildren()
->get();
Run Code Online (Sandbox Code Playgroud)
但我不认为这是一个好方法,因为不清楚表名是否需要以防其他开发人员甚至自己在将来尝试再次使用该范围.他们可能最终会搞清楚这一点,但这似乎不是一个好习惯.
我可以在子查询中将模糊列分开.但是,在这种情况下,随着表的增长,性能将下降.
不过,这是我正在使用的策略.因为它不需要对其他范围和条件进行任何更改.至少不是我现在正在应用它的方式.
public function scopeNoChildren(Builder $query): Builder
{
$subQueryChildren = self::select('id', 'parent_id')
->completed();
$sqlChildren = DB::raw(sprintf(
'(%s) AS children',
$subQueryChildren->toSql()
));
return $query->select('orders.*')
->leftJoin($sqlChildren, function ($join) use …
Run Code Online (Sandbox Code Playgroud) 我一直在阅读OSX Man页面的描述.它有以下描述mkdir -p
:
-p
根据需要创建中间目录.如果未指定此选项,则每个操作数的完整路径前缀必须已存在.另一方面,如果指定了此选项,则如果作为操作数给出的目录已存在,则不会报告错误.使用由当前umask修改的rwxrwxrwx(0777)的权限位创建中间目录,以及所有者的写入和搜索权限.
我不太关注这个描述.特别是"如果未指定此选项,则每个操作数的完整路径前缀必须已存在.另一方面,如果指定了此选项,则如果作为操作数给出的目录已存在,则不会报告错误."
有人对这个解释有一个例子吗?
在我的Laravel应用程序中,我有一个类别列表页面.当用户点击某个子类别时,我想列出所有产品并对该结果使用分页.我现在已经在子类别ID的帮助下列出了与该子类别相关的所有产品:
public function subcategoryListing($slug){
$products = Subcategory::find($idofSubcat)->products;
return view('pages.subcategorylisting')
->with(array(
'products' => $products,
));
}
Run Code Online (Sandbox Code Playgroud)
此结构涉及三个类:Category,Subcategory和Products.他们被宣布如下:
类别
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\Relation;
use App\Subcategory;
class Category extends Model
{
protected $table = 'category';
public $timestamps = false;
public function subCategory(){
return $this->hasMany('App\Subcategory', 'category_id');
}
}
Run Code Online (Sandbox Code Playgroud)
子目录
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Subcategory extends Model
{
protected $table = 'subcategory';
public $timestamps = false;
public function products(){
return $this->hasMany('App\Products');
}
}
Run Code Online (Sandbox Code Playgroud)
制品 …
我似乎无法让哨兵工作.我一直收到这个错误:A hasher has not been provided for the user.
有谁知道会发生什么?
我在OS X 10.9上运行MAMP.我正在使用php 5.4.4 MCrypt已安装并启用.尝试在创建新用户时散列密码时会发生此错误.我们的项目使用laravel Sentry插件.这是控制器:
<?php
use Auth, BaseController, Form, Input, Redirect, Sentry, View;
class AuthController extends BaseController {
public function register()
{
return View::make('Auth.register');
}
public function handleRegister()
{
$validator = Validator::make(Input::all(), User::$rules);
if ($validator->passes()) {
//The registration has passed, create a user
$user = new User;
$user->first_name = Input::get('first_name');
$user->last_name = Input::get('last_name');
$user->email = Input::get('email');
$user->password = Hash::make(Input::get('password'));
$user->activated = 1;
$user->save();
//grabbing the Sentry model …
Run Code Online (Sandbox Code Playgroud) 我最初使用Regex就这些问题提出了一个问题,但建议使用PHP DOM库来代替......这是优越的,但我仍然卡住了.
基本上,我想将一个内容包装成<a>
一个<span>
如果它还没有被包装<span>
.
<?php
$input = <<<EOT
<html><head></head>
<body bgcolor="#393a36">
<a href="#"><span style="color:#ffffff;">Link 1</span></a>
<a href="#">Link 2</a>
<a href="#"><img src="mypic.gif" />Image Link</a>
<a href="#"><u>Underlined Link</u></a>
</body>
</html>
EOT;
$doc = new DOMDocument();
$doc->loadHTML($input);
$tags = $doc->getElementsByTagName('a');
foreach ($tags as $tag) {
$spancount = $tag->getElementsByTagName("span")->length;
if($spancount == 0){
$content = nodeContent($tag);
$element = $doc->createElement('span');
$element->setAttribute('style','color:#ffffff;');
$frag = $doc->createDocumentFragment();
$frag->appendXML($content);
$element->appendChild($frag);
$tag->nodeValue = ""; //clear node
$tag->appendChild($element);
}
}
echo $doc->saveHTML();
function nodeContent($n, $outer=false) {
$d …
Run Code Online (Sandbox Code Playgroud)