小编S_R*_*S_R的帖子

如果孩子有一个特定的类,Sass 选择父母

如果子元素包含某个类,是否有任何方法可以在 sass 中选择父元素?

基本上我正在使用 tooltipster 插件并遇到这个问题

HTML

<div class="tooltipster-content">
  <span id="note-options">
    <ul>
      <li>Create new note</li>
      <li>Add new edit note</li>
    </ul>
  </span>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

#note-options {
   //From here, select the .tooltipster-content parent
     ul {
       li {

       }
     }
}
Run Code Online (Sandbox Code Playgroud)

我需要能够.tooltipster-content根据 span 标签的 id选择类。

Tooltipster 将始终使用相同的 HTML 结构生成,但我不想更改所有工具提示的 tooltipster 包装器,我想针对每个工具提示进行更改。

由于 tooltipster 不会将您指定的 id 添加到用于基本 CSS 编辑的父包装器,我能想到的唯一方法是尝试使用跨度 ID 来选择最接近的.tooltipster-content类。

这是可以实现的吗?

注意 - 我不想使用 javascript/jquery 来解决这个问题,我想尝试在 CSS/SASS 中实现它。

css sass tooltipster

9
推荐指数
1
解决办法
6950
查看次数

Wordpress webp 图像预览

我使用以下代码更新了 wordpress 以允许 webp 上传,

function webp_upload_mimes( $existing_mimes ) {
    $existing_mimes['webp'] = 'image/webp';
    return $existing_mimes;
}
add_filter( 'mime_types', 'webp_upload_mimes' );
Run Code Online (Sandbox Code Playgroud)

效果很好,但是 webp 图像没有在媒体选择器中显示预览,如图所示

在此处输入图片说明

无论如何我可以强制wordpress渲染webp预览吗?当我的网站完成时,它可能有数百个 webp 图像,在选择时无法看到它们可能是一个巨大的痛苦!

php wordpress

6
推荐指数
1
解决办法
2468
查看次数

作曲家脚本回显

在脚本中回显控制台的最佳方法是什么composer.json?例如,我使用脚本部分创建了一个自定义安装程序,最后我想在控制台中显示一条消息。

目前我只是做这样的回声

"scripts": {
    "post-update-cmd": [
        "clear",
        "echo \"\n\nInstallation Complete\""
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是可行的,但它会在控制台中打印出命令和回显,所以它最终看起来像这样。

在此输入图像描述

由于 Composer 无论如何都会输出脚本中的所有自定义命令,因此它会加倍并且看起来很丑!

使用编写器脚本将消息回显到控制台的最佳和最干净的方法是什么?

php composer-php

6
推荐指数
2
解决办法
1943
查看次数

在绑定之前等待 Font Awesome JS 将 i 转换为 svg

我有一个有点问题,当谈到绑定到由字体真棒JS生成的字体真棒元素<i><svg>

我正在尝试使用tooltipster将自定义 HTML 元素附加到<i>我的 Laravel 5 应用程序中的标签,如下所示

刀刃

<i class="fa fa-ellipsis-h doc-settings room-image-settings-tooltip" data-tooltip-content="#room_image_settings_{{$key}}" aria-hidden="true"></i>
Run Code Online (Sandbox Code Playgroud)

JS

//Tooltip enable
$('.room-image-settings-tooltip').tooltipster({
    theme: 'tooltipster-punk',
    trigger: 'click',
    animation: 'grow',
    minWidth: 300,
    interactive:true,
    animationDuration:200
});
Run Code Online (Sandbox Code Playgroud)

这导致 Font Awesome 创建这样的 SVG

在此处输入图片说明

如您所见,效果很好。它接管了所有属性。问题是,如果没有 font awesome 5,当它保留为<i>元素时绑定得很好,但是当转换为 时<svg>,即使上面的 tooltipster js 位于文档就绪标记内,也必须重新运行 tooltipster 代码在控制台中使其工作并绑定到<svg>.

我的 JS 正在按此顺序加载

应用程序.js

require('@fortawesome/fontawesome-pro/js/all');

$(document).ready(function(){
   //Tooltip enable
   $('.room-image-settings-tooltip').tooltipster({
       theme: 'tooltipster-punk',
       trigger: 'click',
       animation: 'grow',
       minWidth: 300,
       interactive:true,
       animationDuration:200
   });
}); …
Run Code Online (Sandbox Code Playgroud)

javascript svg font-awesome font-awesome-5

5
推荐指数
1
解决办法
821
查看次数

如果数据尚不存在,Laravel 插入种子

有没有什么方法可以运行 laravelseed仅插入不存在的记录?

我当前的 laravel 播种机看起来像这样

DB::table('users')->insert([
                //Global Admin
                [
                    'member_id' => 11111111,
                    'firstname' => 'Joe',
                    'lastname' => 'Bloggs'
                ], 
                [
                    'member_id' => 22222222,
                    'firstname' => 'Jim',
                    'lastname' => 'Bloggs'
                ], 

            ]);
Run Code Online (Sandbox Code Playgroud)

相当标准!

我是否必须将每个插入内容都包装在 try catch 中?像这样

try {
   DB::table('users')->insert(['member_id' => 11111111, 'firstname' => 'Joe', 'lastname' => 'Bloggs']);
} catch(Exception $e){
  //Die silently
}
try {
   DB::table('users')->insert(['member_id' => 22222222, 'firstname' => 'Jim', 'lastname' => 'Bloggs']);
} catch(Exception $e){
  //Die silently
}
Run Code Online (Sandbox Code Playgroud)

稍后,我可能想向同一个播种器添加额外的行,而不必编写新行,然后重新运行php artisan db:seed以仅添加新行。

这可能吗?

laravel laravel-5

3
推荐指数
1
解决办法
1万
查看次数

使用 moment JS 获取 2 个日期之间的月份开始和结束列表

我有 2 个这样的约会

2018-01-012019-01-01

我想返回这两个日期之间所有月份的列表,但同时在列表中获取月初和月末,如下所示

 2018-01-01 - 2018-01-31
 2018-02-01 - 2018-02-28
 2018-03-01 - 2018-03-31
Run Code Online (Sandbox Code Playgroud)

对于这两个日期之间的所有月份,依此类推。我该如何使用 Moment JS 来做到这一点?

javascript momentjs

2
推荐指数
2
解决办法
1920
查看次数

Laravel仅在更改时请求更新唯一字段

我将无法根据某些情况验证用户的电子邮件地址。

例如

如果正在创建用户,则电子邮件地址必须唯一

如果用户正在更新,但电子邮件地址未更改,请忽略唯一的电子邮件规则

如果要更新用户且其电子邮件地址已更改,则该地址必须唯一

我环顾四周,我知道我可以根据像这样的方法指定不同的规则

public function rules()
{
    $user = User::find($this->users);

    switch($this->method())
    {
        case 'POST':
        {
            return [
                'user.email'      => 'required|email|unique:users,email',
            ];
        }
        case 'PUT':
        case 'PATCH':
        {
            return [
                'user.email'      => 'required|email,
            ];
        }
        default:break;
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以使该规则在放置/修补情况下检查电子邮件地址是否已更改,如果必须更改,则该电子邮件地址必须是唯一的?

如果不是,有没有更干净的方法可以实现这一目标?也许没有开关盒?也许我还没有偶然发现更多的深度验证规则?

php validation request laravel laravel-5

2
推荐指数
2
解决办法
2919
查看次数

保存前返回新的 Laravel 模型 ID

我已经看到其他框架的类似问题,但我似乎无法找到 Laravel 的答案。

实现我的目标的最佳实践/最干净的解决方案是什么。

目前可以说我有一个名为Site.

我的站点模型有一个名为的列prefix,它只是由站点名称加上新站点 ID 生成的几个大写字母,例如,站点名称为“clare”的第 1 行变为“CLA1”,“pencet”变为“PEN2” .

我的问题是我需要新行id来生成前缀,这意味着目前我必须保存它,然后像这样重新保存它。

$site = new Sites;
$site->name = 'clare';
$site->save();
//Now that we have saved, we can use the new id to create the prefix and save again
$site->prefix = strtoupper(substr($site, 0, 3)) . $site->id;
$site->save();
Run Code Online (Sandbox Code Playgroud)

我讨厌这样一个事实,因为我需要 ID,所以在最初保存它后我必须再次重新保存它,实现此目标的最佳方法是什么?是否可以在保存之前返回新模型 ID?

我知道我可以做一些事情,比如获取所有行的计数并以这种方式获取 ID,但我通常正在寻找最好、最干净的解决方案来实现这一目标。

php laravel laravel-5

2
推荐指数
1
解决办法
6835
查看次数

Laravel Eloquent 获取哪里没有,当不为空时搜索哪里有

这个问题实在是很难说清楚,所以我对这个标题表示歉意!

假设我有一个Rooms模型和一个Bookings模型,1 个房间可以有多个预订。

我正在构建一个带有过滤器的表,如果有预订,我需要能够对预订关系运行过滤器,否则无论如何都会获取记录。

假设我的房间有这样的预订关系

public function latestBooking(){
    return $this->hasOne('App\Models\Bookings', 'room_id', 'id')
    ->orderBy('expiry_date', 'DESC')->limit(1);
}
Run Code Online (Sandbox Code Playgroud)

上述关系为我提供了最新的预订。

我正在运行“空缺”过滤器,如下所示

if ($request->has('filters.vacant_from')) {
    $rooms = $rooms->whereHas('latestBooking', function ($query) use ($request) {
        $query->where('expiry_date', '<', Carbon::createFromFormat('d/m/Y',$request->input('filters.vacant_from'))->format('Y-m-d'));
    });
}
Run Code Online (Sandbox Code Playgroud)

问题是,这只能获取已预订且在指定日期之后可用的房间。我需要它能够搜索所有房间,如果确实有预订,请检查到期日期是否在指定日期之后,如果没有最新预订,则无论如何都要获取它,因为它是空房间。

基本上我将如何构建我的过滤器函数,以便它像这样运行

搜索所有房间,如果有最新预订,检查其到期日期是否在指定日期之后,仅在其真实/空置时才获取它,如果没有最新预订,则无论如何获取它,因为它是空置的

php laravel eloquent laravel-5

2
推荐指数
1
解决办法
8049
查看次数

使用 Dropzone 'ProcessQueue' 事件发送参数

这是我的问题。

我目前正在 Laravel 中构建一个应用程序,并使用 DropZone 来上传用户图像。现在在“新用户”页面上,我有用户详细信息和 dropzone 保管箱,它们都被单独处理。

我将首先运行“创建用户”方法,然后如果没问题,上传图像。

问题在于 Dropzone 在准备上传时不知道新用户 ID(因为它需要分配给数据库中的正确用户)。

我以某种方式需要能够将新用户 ID 传递回 dropzone 'processQueue' 方法,以在图像上传中使用新用户 ID,有人知道这是否可行吗?

在一个完美的世界中,我将能够将新 id 传递到“processQueue”函数中,例如processQueue(newUserId)获取它并将其添加到表单数据中以与图像一起发送。

到目前为止,这是我的代码

HTML

<div id="user_profile" class="dropzone dropzone-box">
  <div class="dz-message needsclick">
     <h3>Select Image</h3>
     <hr>
     <p>Click here or drag and drop image</p>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JS

//Bind dropzone to user profile image
var userProfile = new Dropzone('#user_profile',{
    url: '/ajax/userProfileUpload',
    autoProcessQueue:false,
    maxFiles:1,
    addRemoveLinks:true,
    paramName: 'profile_pic', // The name that will be used to transfer the file
    init: function(){
        this.on("maxfilesexceeded", function(file) …
Run Code Online (Sandbox Code Playgroud)

javascript php laravel dropzone.js

1
推荐指数
1
解决办法
3030
查看次数