小编Chr*_*hvh的帖子

Laravel 5.4在单个artisan命令中创建模型,控制器和迁移

我可以使用以下命令创建模型和资源控制器(绑定到模型)

php artisan make:controller TodoController --resource --model=Todo
Run Code Online (Sandbox Code Playgroud)

我想用上面的命令创建一个迁移,有可能吗?

laravel artisan laravel-5.4

127
推荐指数
8
解决办法
18万
查看次数

pdfmake - 在 vfs 上找不到字体文件

我有以下代码用于测试驱动器PDFmake。我对字体文件的位置有问题。我看到的文档似乎表明在拉入vfs_fonts文件后我应该能够看到它们。然而,这对我来说并非如此。

function createPdf(assessmentId: string): string {
  const pdfMake = require('pdfmake/build/pdfmake.js');
  const pdfFonts = require('pdfmake/build/vfs_fonts.js');
  pdfMake.vfs = pdfFonts.pdfMake.vfs;

  //required font setup, requires that you link to the fonts shipped with npm

  const fontDescriptors = {
    Roboto: {
      normal: 'Roboto-Regular.ttf',
      bold: 'Roboto-Medium.ttf',
      italics: 'Roboto-Italic.ttf',
      bolditalics: 'Roboto-Italic.ttf',
    }
  };
  const termpaper = new PdfLayout();
  const docDefinition = termpaper.layout
  const printer = new Printer(fontDescriptors);

  //get a reference to the PdfKit instance, which is a streaming interface

  const pdfDoc = printer.createPdfKitDocument(docDefinition); …
Run Code Online (Sandbox Code Playgroud)

javascript fonts pdfmake

8
推荐指数
3
解决办法
9333
查看次数

laravel 5 - > getRealPath()doenst显示正确的值

在我的本地开发中,我使用下面显示的代码,它完美无缺,

但当我将网站上传到我的共享主机时,一切正常,除了我的文件上传.我已经确定问题涉及到 ->getRealPath(),当dd();我得到这条道路时: /data/sites/web/christophvhbe/tmp

哪个在我的托管上不存在.但我发现临时图像存储在我的托管位置,tmp/位于此处:http://gyazo.com/e0199718324119109a4ff66321414e12.

如何将->getRealPath()值更改为正确的值?

$fileName = time() . '-' . $request->file('foto')->getClientOriginalName();
$product->foto = $fileName;
$product->save();

$imagePath = '/images/producten/'. $fileName;

$image = Image::make($request->file('foto')->getRealPath())->fit(300)->save($imagePath);
Run Code Online (Sandbox Code Playgroud)

我正在使用该Image/intervention程序包上传和存储图像.

php laravel laravel-5 intervention

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

无法加载非Laravel Composer程序包

这是我第一次尝试加载不使用Laravel服务提供程序或外观的Composer包.

我正在尝试安装此软件包:https: //github.com/mollie/mollie-api-php

我已按照步骤使用Composer安装软件包.

在我的控制器顶部,我添加了:

require_once base_path('vendor/Mollie/API/Client.php');
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

main():打开失败'../vendor/Mollie/API/Client.php'(include_path ='.:/ Applications/MAMP/bin/php/php7.0.0/lib/php')

它无法找到该文件.即使错误中的路径是类所在的路径.我应该做更多的步骤吗?

包装结构:

在此输入图像描述

composer.json 从包中:

"autoload": {
    "psr-0": {
        "": "src/"
    }
Run Code Online (Sandbox Code Playgroud)

更新: 我的控制器具有此命名空间

namespace App\Http\Controllers;
Run Code Online (Sandbox Code Playgroud)

因此,当我只是尝试新建我的类时,显然无法在该命名空间中找到该类.那么我如何忽略1类的命名空间

因为这不适用于此控制器:

$mollie = new Mollie_API_Client;
Run Code Online (Sandbox Code Playgroud)

php laravel composer-php laravel-5.2

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

Laravel getDirty和getOriginal在更新时给出相同的值

运用 Laravel 5.4

我有一个Job模型,其上有一个enum字段,具有不同的状态.这些状态在许多不同的地方发生变化.我制作了一个JobHistory模型和迁移来跟踪这些变化.

在我的工作模型中,我定义了新的laravel 5.4跟踪雄辩事件的方式:

/**
 * The events that should be fired for eloquent actions
 *
 * @var array
 */
protected $events = [
    'updating' => JobChangedStatus::class
];
Run Code Online (Sandbox Code Playgroud)

状态更改如下所示:

/**
 * Change the job status
 *
 * @param $status
 */
public function changeStatus($status)
{
    $this->update([
        'status' => $status,
    ]);
}
Run Code Online (Sandbox Code Playgroud)

EventServiceProvider:

'App\Events\Jobs\JobChangedStatus' => [
  'App\Listeners\Jobs\CreateJobHistory',
],
Run Code Online (Sandbox Code Playgroud)

CreateJobHistory Listener:

$job = $event->job;

$jobHistory = new JobHistory();
$jobHistory->old_status = $job->getOriginal('status');
$jobHistory->new_status = $job->status;
$jobHistory->job()->associate($job);
$jobHistory->executor()->associate(Auth::user());
$jobHistory->save();
Run Code Online (Sandbox Code Playgroud)

当我将工作状态从例如New …

php laravel eloquent laravel-5.4

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

为什么我应该使用/不使用可空字段 Laravel - MySQL

我的 mySQL 数据库中有Address table一些字段。

在我的表单上,我要求用户输入这些字段的值。但street field is not required. 因此,当我提交表单时,我的数据库中的 Column Street 就是空的。如果不将列设置为接受 NULL ,这可以正常工作并且不会出现错误。

所以我的问题是:

将 Street 列设置为可为空有什么好处?

不带 nullable 的迁移示例 (Laravel):

$table->string('street');
Run Code Online (Sandbox Code Playgroud)

可为 null 的迁移示例

$table->string('street')->nullable();
Run Code Online (Sandbox Code Playgroud)

两者都工作正常。

php mysql laravel

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

在Laravel 5.2注册表更新证明中传递参数

我使用标准的Laravel 5.2身份验证.

但我想在我的注册视图中提供某些变量

我感兴趣的路线就是这个:

Route::get('register', 'Auth\AuthController@showRegistrationForm');
Run Code Online (Sandbox Code Playgroud)

方法showRegistrationForm在a中创建trait called RegistersUsers,此特征位于Illuminate\Foundation\Auth.

public function showRegistrationForm()
    {
        if (property_exists($this, 'registerView')) {
            return view($this->registerView);
        }

        return view('auth.register');
    }
Run Code Online (Sandbox Code Playgroud)

我可以在这里简单地传递我的参数,但问题是该文件位于供应商目录中,因此当我运行Composer Update时,我的更改将被覆盖并且我的网站将中断.有没有更新的方法来做到这一点?

php laravel composer-php laravel-5.2

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

Google Maps v3 API仅在刷新/身份验证后非常缓慢地加载

使用Google Maps v3 API。当我访问地图页面时,有时会出现以下错误:"custom.js:46 Uncaught ReferenceError: google is not defined"

启用API的关键是:

  • Google Maps Directions API
  • Google Maps Distance Matrix API
  • Google Maps Elevation API
  • Google Maps Geocoding API
  • Google Maps JavaScript API

当我重新加载页面时,一切正常。这在100%的时间内无效。在某些情况下需要多次重新加载。

我确实注意到,当地图未正确加载时,此脚本正在我的head标签中运行:

<script type="text/javascript" charset="UTF-8" src="https://maps.googleapis.com/maps/api/js/AuthenticationService.Authenticate?1shttp%3A%2F%2Fmayan-co.com%2Fen%2Foutlets&amp;MYKEY&amp;callback=_xdc_._h7cv8d&amp;token=60166"></script>
Run Code Online (Sandbox Code Playgroud)

10到20秒后,此脚本消失,当我在此脚本消失后刷新页面时,我的地图可以正常工作。

我尝试没有结果的事情:

  • 将脚本放入页脚中以加载API。
  • 不使用异步或延迟。
  • 将特定的网址添加到我的api密钥中。
  • 不使用api密钥

在页面顶部加载api脚本:

<script src="https://maps.googleapis.com/maps/api/js?key=MYKEY" async defer></script>
Run Code Online (Sandbox Code Playgroud)

我的脚本,用于渲染地图并将标记放置在地图上(已加载到页脚中)

jQuery(document).ready(function($) {
    $('#animation').addClass('animate');

    $('.heart img').popover({
        placement: 'top',
        html: true,
        container: '#animation',
        content: function () {
            return $(this).attr('alt');
        }
    });

    $('body').on('click', function(e) {
        $('.heart img').each(function() {
            if (!$(this).is(e.target) && …
Run Code Online (Sandbox Code Playgroud)

javascript php jquery google-maps google-maps-api-3

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

将 Laravel 存储与图像干预画布()一起使用

使用 Vagrant 和 Homestead 运行 Laraval 5.4。

看到了有关此问题的其他一些问题,但没有一个提供使用Intervention/Image的canvas()方法的解决方案

Laravel从 5.3开始引入了一个更简单的存储系统

我目前的代码:

$path = $request->file('logo')->store('/clients/logos','public');

$canvas = Image::canvas($width, $height);
$image = Image::make($path)->resize($width, $height, function ($constraint)
{
    $constraint->aspectRatio();
});

$canvas->insert($image, 'center');
$canvas->save($path);

$this->logo_path = $path;
Run Code Online (Sandbox Code Playgroud)

此代码创建一个画布并在其中放置一个调整大小的图像。

此代码给出以下错误:

在 AbstractDecoder.php 第 335 行中的 NotReadableException:在 AbstractDecoder->init('clients/logos/UupUn1iuDGRsy5Z0bkWHJ6S4v79bfZiXapTO7vLk.jpeg') 在 AbstractDriver.php 行中,AbstractDecoder.php 第 335 行中的图像源不可读

第一行有效,因为图像存储在我的存储文件夹中的以下位置:

“/storage/app/public/clients/logo/UupUn1iuDGRsy5Z0bkWHJ6S4v79bfZiXapTO7vLk.jpeg”

但是图像以全尺寸存储,因此代码在图像干预部分失败。

我尝试过的事情:我尝试将$pathImage::make() 中的变量更改为:

Storage::disk('public')->url($path)
Run Code Online (Sandbox Code Playgroud)

这导致以下错误:无法将图像数据写入路径

( http://test.dev/storage/clients/logos/owjNA5Fn9QyYoS0i84UgysaFLo5v0NzbOiBhBzXp.jpeg )

关于该错误的奇怪部分是“app”目录在该错误中不可见。

我已经没有想法来解决这个问题了。

编辑

在不使用画布的情况下工作,但仍然想知道使用 canvas() 的方法

这就是我目前让它工作的方式:

$path = $logo->hashName('public/clients/logos');

$image = Image::make($logo);

$image->resize($width, $height, …
Run Code Online (Sandbox Code Playgroud)

php laravel intervention laravel-5.4

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

Wordpress - 禁用博客标签页面的最佳方法是什么?

我不希望 TAG 页面显示在我的 WordPress 中,并且我想要重定向到主页而不是 noindex。

我无法使用 NGINX 重定向,因为我的 Wordpress 在多语言中“标签”一词是可翻译的,它可以更改(而且我真的不想让它碰运气,在一年中,当我们添加另一种语言时,我会忘记添加这个重定向)

目前我正在使用这个:

public function my_template_include($original_template)
{
    global $wp_query;

// we dont use tags...
    if(is_tag()){
        wp_redirect('/',301);
        exit();
    }
}

add_filter('template_include', array($this, 'my_template_include'), 10, 1);
Run Code Online (Sandbox Code Playgroud)

但我很确定应该有比这更好的方法。

PS我已经使用: unregister_taxonomy_for_object_type 但是,它删除了添加标签的选项,但不会删除系统中当前现有的标签,也不会删除它创建的页面!

wordpress wordpress-hook

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

为什么我的 .bashrc 和 .bash_profile 与 echo $path 不同

我试图在我的路径中添加一些东西。但由于我对终端非常熟悉,我想我搞砸了。

当我这样做时,echo $PATH我得到:

/Users/christoph/.node/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Run Code Online (Sandbox Code Playgroud)

但是当我打开时,.bashrc我看到了这个:

alias homestead=~/.composer/vendor/bin/homestead

echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.bashrc

export PATH="$PATH:$HOME/.composer/vendor/bin"
Run Code Online (Sandbox Code Playgroud)

当我打开 .bash_profile 我看到这个:

export PATH="$HOME/.node/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

我想做这一步:(安装laravel valet)

通过 composer global require laravel/valet 使用 Composer 安装 Valet。确保 ~/.composer/vendor/bin 目录在您系统的“PATH”中。

我很困惑我应该如何添加这条路径。另外我需要把它放在哪个文件中?

我正在使用 MAC OSX El Capitan

bash laravel-valet

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

Wordpress Woocommerce - 可变产品价格低于标题

Wordpress版本: 4.6.1

Woocommerce版本: 2.6.4

使用标准的woocommerce时,您可以添加具有不同价格值的可变产品.Woocommerce显示该产品低于产品标题的最低和最高价格.像这样:€50 - €100

我将以下代码添加到我的functions.php文件中以禁用变量产品的此行为:

/** Hide Variable prices */
add_filter( 'woocommerce_variable_sale_price_html', 'bbloomer_variation_price_format', 10, 2 );

add_filter( 'woocommerce_variable_price_html', 'bbloomer_variation_price_format', 10, 2 );

function bbloomer_variation_price_format( $price, $product ) {

 if (is_product()) {
    return $product->get_price();
 } else {
        // Main Price
        $prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) );
        $price = $prices[0] !== $prices[1] ? sprintf( __( '%1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );

        // Sale Price
        $prices = array( …
Run Code Online (Sandbox Code Playgroud)

html css php wordpress woocommerce

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

如何返回对象数组内的所有项目

我试图返回 my 中的所有数组项item,这是我的数组:

    var data =  [
      {
        "id": 275,
        "nome": "name",
        "item": [
          {
            "idCentro": 2,
            "date": "2018-06-05",
            "tipo": "D"
          },
          {
            "idCentro": 6,
            "date": "2017-06-05",
            "tipo": "G"
          },
          {
            "idCentro": 18,
            "date": "2016-06-05",
            "tipo": "G"
          },
          {
            "idCentro": 29,
            "date": "2019-06-05",
            "tipo": "D"
          }
        ]
      }
    ]
Run Code Online (Sandbox Code Playgroud)

因此,要将所有项目放入其中item,但它不起作用:

let listaT = data.filter(item => {
  return{
    idCentro: item.item.idCentro,
    date: item.item.date,
    tipo: item.item.tipo,
  }
})
Run Code Online (Sandbox Code Playgroud)

我想得到这样的回报:

[
  {
    "idCentro": 2,
    "date": "2018-06-05",
    "tipo": "D"
  },
  { …
Run Code Online (Sandbox Code Playgroud)

javascript arrays json

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