小编Jos*_*osh的帖子

Vuetify 数据表:展开一行时获取数据

我有一个带有可扩展行的 Vuetify 数据表。每一行都与客户的订单相关,该订单由他们想要测试的样品组成。

目前,我正在检索所有样品的所有订单,但加载所有信息需要很长时间。

因此,当我展开一行时,我希望能够执行 API 调用来检索应显示在该特定订单的展开部分中的样本,而不是检索每个订单的所有样本。

我已经尽我所能研究了,但已经走到了尽头。这是我目前所在的位置:

<v-data-table
  :headers="orders_headers"
  :items="orders"
  show-expand
  :single-expand="true"
  :expanded.sync="expanded"
>

  <!-- Expand Buttons -->
  <template v-slot:item.data-table-expand="{ item, isExpanded, expand }">
    <v-btn @click="expand(true)" v-if="!isExpanded">Expand</v-btn>
    <v-btn @click="expand(false)" v-if="isExpanded">close</v-btn>
  </template>

  <!-- Expanded Data -->
  <template v-slot:expanded-item="{ headers, item }">
    <td :colspan="headers.length">

      <table v-for="(sample, index) in item.samples" :key="index">
        <tr>
          <th>Sample Acc</th>
          <td>{{ sample.sample_accession }}</td>
        </tr>
        <tr>
          <th>Sample Status</th>
          <td>{{ sample.sample_status }}</td>
        </tr>
      </table>

    </td>
  </template>
</v-data-table>
Run Code Online (Sandbox Code Playgroud)

我想我在写这篇文章的时候可能已经想到了

当我打字时,我意识到我可能需要做些什么。我需要向展开按钮添加一个方法调用,然后在该方法中将结果设置为expandedSamples并替换item.samples为它。

同时,如果有人有更好的解决方案,我很乐意听到。否则,我会发布我的解决方案,以防其他人尝试尝试类似的方法。

奖金

任何人都知道是否有一种方法可以在不替换默认图标/功能的情况下进入扩展事件,或者在使用时包含原始图标/功能的方法v-slot:item.data-table-expand

目前,当我使用 时 …

expand vue.js axios vuetify.js

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

从 GitHub 上的远程分支创建新的 git 分支

我一直在与我的团队讨论并在互联网上搜索,但我无法弄清楚如何基于 GitHub 上托管的远程分支在本地创建新的 git 分支。似乎应该有办法做到这一点。

我已经尝试了以下操作,但是当我推送时,它会推送到错误的 (origin/release/1.0) 分支,而不是推送到 GitHub 上的新分支 (feature/123)。

git checkout -b feature/123 origin/release/1.0
Run Code Online (Sandbox Code Playgroud)

目前,有效的工作流程是:

git checkout release/1.0
git pull
git checkout -b feature/123
Run Code Online (Sandbox Code Playgroud)

不过,我必须做很多这样的事情,感觉我应该能够跳过在本地拉入 release/1.0 分支的过程,而是用一个命令创建我的分支。

有没有办法做到这一点,或者我们是否必须继续拉取最新版本,然后从本地分支?

解决方案

更新全局 git 配置

git config --global branch.autoSetupMerge false
Run Code Online (Sandbox Code Playgroud)

从最新版本创建新分支

$ git fetch --all
$ git checkout -b feature/123 origin/release/1.0
$ git push --set-upstream origin feature/123
Run Code Online (Sandbox Code Playgroud)

git github

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

从包运行 Laravel Seeder

我正在为内部 Laravel 应用程序开发一个包,但在运行包目录中存在的播种器时遇到问题。

在位于packages/vendor/packagename 的包的composer.json 文件中,我添加了以下内容:

"autoload": {
    "psr-4": {
        "Vendor\\PackageName\\": "src/",
        "Vendor\\PackageName\\Database\\Factories\\": "database/factories/",
        "Vendor\\PackageName\\Database\\Seeders\\": "database/seeders/"
    }
},
Run Code Online (Sandbox Code Playgroud)

我有以下文件位于“packages/vendor/packagename/database/seeders/DepartmentSeeder.php”

<?php

namespace Vendor\PackageName\Database\Seeders;

use Illuminate\Database\Seeder;
use Vendor\PackageName\Models\Department;

class DepartmentSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Department::factory()->count(10)->create();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试运行以下命令:

$ php artisan db:seed --class="Vendor\\PackageName\\Database\\Seeders\\DepartmentSeeder"
Run Code Online (Sandbox Code Playgroud)

目标类 [Vendor\PackageName\Database\Seeders\DepartmentSeeder] 不存在。

如果我将播种机目录移至 src 目录并运行以下命令,它会起作用,但我宁愿将播种机保留在数据库目录中。

$ php artisan db:seed --class="Vendor\\PackageName\\seeders\\DepartmentSeeder"
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么找不到该课程吗?我所有的谷歌搜索结果都是紫色的,我什至去了第二页=/

解决方案

就我的具体情况而言,composer dump-autoload并没有达到目的。我最终所做的就是跑步composer update vendor/packagename,无论问题是什么,它都得到了解决。

希望这对可能遇到类似问题的其他人有所帮助。

package autoload laravel laravel-seeding laravel-package

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

为 Laravel 7 安装和配置 PhpRedis

配置 Laravel 7 以与 PhpRedis 一起使用

前言

按照 Laravel 的建议,我在互联网上搜索并试图找出如何正确安装和使用 PhpRedis 后,我无法找到一个单一的事实来源或指南,但问题却多于答案。

我希望在社区的帮助下,在这里创建并不断改进该指南。

本指南的目标

  • 提供分步指南,以最正确和面向未来的方式在 Homestead 上为 Laravel 7 安装和配置 PhpRedis。
  • 现在解释如何使用 Redis 安装/配置了 PhpRedis。

为什么不直接使用 Predis?

根据 Laravel 7 文档,Predis 似乎已被放弃,在 Laravel 的未来版本中,它可能不再受支持。此外,PhpRedis 的性能优于 Predis。

PhpRedis vs Predis:真实生产数据的比较

参考

如何在 Ubuntu 上为 Laravel 安装 PhpRedis

Laravel 中的 PhpRedis - Redis 系列第 2 集

在全新安装 Homestead PHP7 上安装 PHP REDIS PHP7 分支

Laravel 7 Redis 文档


在 Homestead 上全新安装的 Laravel 7 上安装/配置 PhpRedis

本指南假设您在 Homestead 开发环境中使用 Laravel 7。

安装 PHPRedis …

php redis laravel phpredis laravel-7

5
推荐指数
0
解决办法
4413
查看次数

配置 Uppy 以使用 Laravel/Vue 的分段上传

我想到了

这就是缺失的部分。一旦我清理了我的代码,我就会发布一个答案,这样希望下一个必须处理这个问题的可怜的灵魂就不必经历我所经历的同样的地狱;)

$command = $client->getCommand('UploadPart', array(
    'Bucket' => 'the-bucket-name',
    'Key' => $key,
    'PartNumber' => $partNumber,
    'UploadId' => $uploadId,
    'Body' => '',
));

$signedUrl = $client->createPresignedRequest($command, '+20 minutes');
$presignedUrl = (string)$signedUrl->getUri();
return response()->json(['url' => $presignedUrl]);
Run Code Online (Sandbox Code Playgroud)

我正在尝试弄清楚如何配置我的服务器以与 Uppy 一起使用,以便使用 CompanionUrl 选项将分段上传上传到 AWS S3。https://uppy.io/docs/aws-s3-multipart/#createMultipartUpload-file

这就是我想到走这条路线的地方https://github.com/transloadit/uppy/issues/1189#issuecomment-445521442

我无法弄清楚这一点,而且我觉得其他人也被困住了,没有答案,所以我发布了迄今为止我在尝试让 Uppy 使用 Laravel/Vue 处理分段上传时所想出的内容。


对于 Vue 组件我有这个:

<template>
<div>
    <a id="uppy-trigger" @click="isUppyOpen = !isUppyOpen">Open Uppy</a>

    <dashboard-modal
        :uppy="uppy"
        :open="isUppyOpen"
        :props="{trigger: '#uppy-trigger'}"
    />
</div>
</template>

<script>
import Uppy from '@uppy/core'
import AwsS3Multipart from '@uppy/aws-s3-multipart';
import …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 laravel vue.js aws-sdk uppy

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

Javascript 现在日期 (UTC),格式为 yyyy-mm-dd HH:mm:ss

我的大脑一定是彻底崩溃了,但我一生都无法弄清楚如何将 UTC 格式的当前日期和时间格式化为字符串。不管我做什么,我只是融入本地。

我有以下函数,它以正确的格式返回日期,但它始终是本地的。

let datenow = new Date;

console.log(datenow); // "2021-07-28T18:11:11.282Z"
console.log(generateDatabaseDateTime(datenow)); // "2021-07-28 14:11:33"

function generateDatabaseDateTime(date) {
  const p = new Intl.DateTimeFormat('en', {
    year:'numeric',
    month:'2-digit',
    day:'2-digit',
    hour:'2-digit',
    minute:'2-digit',
    second:'2-digit',
    hour12: false
  }).formatToParts(date).reduce((acc, part) => {
    acc[part.type] = part.value;
      return acc;
  }, {});

  return `${p.year}-${p.month}-${p.day} ${p.hour}:${p.minute}:${p.second}`;
}
Run Code Online (Sandbox Code Playgroud)

有谁知道我错过了什么?

javascript datetime date

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