小编Luu*_*gen的帖子

Laravel:差异App :: bind和App :: singleton

我对laravel在IOC容器和外墙方面提供的所有好东西感到有些困惑.由于我不是一位经验丰富的程序员,因此学习起来势不可挡.

我想知道,这两个例子有什么区别:

  1. 'Foo'的门面并通过容器注册 App::bind()

  2. 'Foo'的门面并通过容器注册 App::singleton()

在我的最佳理解Foo::method()中将被重写,$app->make['foo']->method()因为在第一个示例Foo中将创建类的多个实例,并且在第二个示例中,因为它通过a绑定App::singleton(),所以Foo每次调用该对象上的Method时都将返回相同的实例.

如果这个问题的答案显而易见,我很抱歉,但我找不到任何关于这个问题的确认,也没有明确解释.

php oop facade ioc-container laravel-4

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

如何在Vue中使用jQuery插件

我正在VueJS中构建一个Web应用程序但我遇到了一个问题.我想使用jQuery扩展(cropit是特定的)但我不知道如何以正确的方式实例化/ require/import它而不会出错.

我正在为我的应用程序使用de官方CLI工具和de webpack模板.

我在main.js文件中包含了这样的jQuery:

import jQuery from 'jQuery'
window.jQuery = jQuery
Run Code Online (Sandbox Code Playgroud)

现在我正在构建一个图像编辑器组件,我希望像这样实例化crept:

export default {
  ready () {
    $(document).ready(function ($) {
      $('#image-cropper-wrapper-element').cropit({ /* options */ })
    })
  },
 }
Run Code Online (Sandbox Code Playgroud)

但我一直在收到错误......现在我的问题是如何通过NPM/Webpack/Vue正确实例化jQuery和插件?

提前致谢!

jquery jquery-plugins webpack vue.js

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

Laravel:如何在laravel查询构建器中使用派生表/子查询

编辑:

虽然这个问题最初是针对我在下面描述的查询所特有的,但我得到的答案几乎适用于与在Laravel中使用派生表/子查询相关的几乎所有问题.

原始问题:

最近我有点卡在laravel查询构建器上.它有一些非常好的功能,但我觉得它不是为更复杂的数据库操作而构建的.

这是我正在尝试构建的查询:

select 

'IFNULL(counted.product_count, 0) AS product_count', 
'uncounted.value', 
'uncounted.attribute_id', 
'uncounted.attribute_option_id' 

    from ( 

        select
        'counted.id', 
        'counted.attribute_id', 
        'counted.value', 
        'count(counted.attribute_id) AS product_count'

        from `attribute_options` as `counted` 
        where `counted.product_id` in (?, ?, ?, ?, ?) 
        group by `counted.attribute_option_id` 

    ) as 'counted' 

right join 'attribute_options' as 'uncounted'
        on 'counted.id' = 'uncounted.id' 

  group by 'attribute_option_id'
Run Code Online (Sandbox Code Playgroud)

查询说明: 我正在laravel中为我的产品目录构建一个分面搜索.根据用户提供的过滤器/属性缩小产品范围.为了获得更好的用户体验,我想显示每个过滤器剩余的产品数量,这就是上面的查询所做的事情:计算某个属性的所有产品,其中product_id是产品ID的数组.

我的尝试:

    $productIds = [ 1, 2, 3, 4, 5 ];

    $subQuery = \DB::table('attribute_options')->selectRaw('counted.id, counted.attribute_id, counted.value, count(counted.attribute_id) AS product_count')
                    ->from('attribute_options AS counted')
                    ->whereIn('counted.product_id', $productIds)
                    ->groupBy('counted.attribute_option_id')
                    ->mergeBindings($subQuery);

    $query …
Run Code Online (Sandbox Code Playgroud)

php subquery query-builder laravel

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

如何将url参数传递给Vuejs

我正在使用laravel和VueJs构建一个应用程序,我想知道如何以适当的方式将url参数(如用户slug或用户id)传递给vuejs,以便能够使用该参数进行ajax请求?

例如,当有人点击导致的链接时

domain.com/user/john-appleseed
Run Code Online (Sandbox Code Playgroud)

我想在我的vuejs应用程序中使用slug'john-appleseed'作为参数来发出ajax请求.

什么是"正确/适当"的方式?

提前致谢!

php ajax url vue.js

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

Laravel:在多个域上共享会话数据

我正在Laravel中构建一个多域/多商店电子商务应用程序,并且希望在用户从一个商店更改为商店时保持用户登录.

但据我所知,Laravel的Auth服务会将登录用户保存在会话中,其他域无法访问会话.

有没有办法(可能是一个包)来实现这一点,而不会让我的应用程序容易出现安全问题?

提前致谢!

authentication session cross-domain laravel

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

Laravel:如何获得嵌套的hasMany关系的平均值(hasManyThrough)

我有三张桌子:

products:   id|name|description|slug|category_id|...
reviews:    id|product_id|review_text|name|email|...
review_rows id|review_id|criteria|rating
Run Code Online (Sandbox Code Playgroud)

审查表存储审阅文本,审阅的编写者并具有外部product_id密钥.review_rows表存储不同标准的评级,例如:

----------------------------------------
| id |  criteria  | rating | review_id |
----------------------------------------
|  1 |  price     | 9      | 12        |
----------------------------------------
|  2 |  service   | 8      | 12        |
----------------------------------------
|  3 |  price     | 6      | 54        |
----------------------------------------
|  4 |  service   | 10     | 54        |
----------------------------------------
Run Code Online (Sandbox Code Playgroud)

审核行使用review_id外键链接到审阅表.我已经建立了这样的模型关系:

Product   -> hasMany   -> Review
Review    -> belongsTo -> Product
Review    -> hasMany   -> ReviewRow
ReviewRow -> belongsTo -> Review …
Run Code Online (Sandbox Code Playgroud)

php mysql relationship laravel eloquent

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

为什么没有设置magento前端cookie

我正在运行magento 1.9.2.2,当使用Internet Explorer和Edge浏览器时,我无法向购物车添加任何内容.我点击添加到购物车按钮,重定向到购物车页面,然后显示"你的购物车是空的......"消息.Safari,Chrome,Firefox,一切正常.只是在使用IE或Edge时才遇到这个问题.

在发现问题之后,我做了一些研究,发现只有在有问题的浏览器上Magento没有设置前端cookie(据我所知处理用户/前端会话).

我已经在后端更改了我的cookie设置,更改了cookie的生命周期,添加了一个路径,将我的域名更改为有和没有前导点,但到目前为止没有任何工作.

有人知道一个解决方案,或者可以告诉我为什么这些cookie没有在那些特定的浏览器中设置?

提前致谢!

php cookies session magento

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

Laravel:在多个值上过滤多对多

我正在为我的laravel应用程序构建一个分层导航模块 - 就像在Magento或WooCommerce中完成的那样.这是一个想法:产品可以分配单个或多个属性,然后用户应该能够使用这些属性过滤产品.像属性"材料"一样,可以为产品分配一个或多个值,如,木材塑料.我的问题是我无法弄清楚如何正确地做到这一点.

我的数据模型是这样的:

         products table:  id | name         | other info...
                example:  42 | Chair        | ...
                example:  14 | Bike         | ...

       attributes table:  id | name         | description
                example:  02 | Material     | the material that the...

attribute_options table:  id | attribute_id | value    
                example:  11 | 02           | Wood    
                example:  12 | 02           | Iron    

            pivot table:  id | product_id   | attribute_option_id    
                example:  12 | 42           | 11 …
Run Code Online (Sandbox Code Playgroud)

php database laravel eloquent

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

Laravel:门面真的会在调用方法时创建新对象吗?

我有一个演示类通常通过

$this->app->bind('demo', function() { return new Demo(); }

一个立面

受保护的静态函数 getFacadeAccessor() { return 'demo'; }

类本身看起来像这样

课堂演示 
    {

        私人 $value1;        
        私人 $value2;        

        公共函数 setVal1($value)
        {
            $this->value1 = $value;
        }

        公共函数 setVal2($value)
        {
            $this->value2 = $value;
        }

        公共函数 getVals()
        {
            返回 '​​Val 1:' 。$this->value1 。'瓦尔2:'。$this->value2;
        }   

    }

有人告诉我,如果我在这个类上使用 Facade,Laravel 将实例化该类的一个对象,然后调用该对象上的方法,例如:

$app->make['demo']->setVal1();     
Run Code Online (Sandbox Code Playgroud)

Butt 我测试了更多,发现这种非常奇怪(至少对我而言)的行为:

如果我做

演示::setVal1('13654');

演示::setVal2('随机字符串')

我不应该使用 Demo::getVals() 来检索我刚刚创建的值,对吗?由于每次使用外观方法时都会实例化一个新对象,一个对象如何检索另一个对象的属性?应该有三个不同的实例,但我仍然能够从其他实例中检索属性......

我认为这只有在将类与 App::singleton 绑定而不是通过 App::bind 绑定时才有可能?

php facade inversion-of-control laravel

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

Laravel 5:在不使用表单构建器的情况下放置,修补和删除请求

因为在Laravel 5中没有表单构建器类(你可以添加它,我知道),如何在不使用任何表单构建器类的情况下制作put,patch和delete匹配这些路由的请求,只是普通的Laravel?

put request laravel laravel-4 laravel-5

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

Laravel:如何通过关系过滤雄辩的数据

我正在laravel中建立产品目录,我想根据产品的属性过滤产品。

我有2个表格,产品和属性。属性具有键,值和product_id。例如:

product_id - key   - value
12         - brand - BestBrandEver
23         - brand - EvenBetterBrand
Run Code Online (Sandbox Code Playgroud)

现在,我希望能够通过类别页面上的表单过滤我的产品,该表单传递查询字符串参数,例如“ brand = BestBrandEver或brand = EvenBetterBrand”,并仅检索该品牌的产品。最终,我想对颜色,材质等做同样的事情。这很像Magento或Woocommerce分层导航。

我现在停留了一段时间,因为我不知道如何以正确的方式开始构建它。是否有人可以帮助我,或者可以为我指明正确的方向(甚至包括教程或视频)?

提前致谢!

magento layered-navigation laravel eloquent

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