小编Har*_*son的帖子

Laravel如何在Eloquent模型中添加自定义函数?

我有一个产品型号

class Product extends Model
{
    ...

    public function prices()
    {
        return $this->hasMany('App\Price');
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

我想添加一个返回最低价格的函数,在控制器中我可以使用以下方法获取值:

Product::find(1)->lowest;
Run Code Online (Sandbox Code Playgroud)

我在产品型号中添加了这个:

public function lowest()
{
    return $this->prices->min('price');
}
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误说:

Relationship method must return an object of type Illuminate\Database\Eloquent\Relations\Relation
Run Code Online (Sandbox Code Playgroud)

如果我使用Product::find(1)->lowest();它,它会工作.有可能Product::find(1)->lowest;上班吗?

任何帮助,将不胜感激.

php model laravel eloquent

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

方法orderBy在Laravel Eloquent中不存在?

我有一段这样的代码:

$products = Product::all()

if ($search_value) {
    $products = $products->where('name', 'LIKE', "%$search_value%");
}

$products = $products->orderBy('created_at', 'desc')->skip(10)->take(10)->with('tags')->get();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

BadMethodCallException in Macroable.php line 81:
Method orderBy does not exist.
Run Code Online (Sandbox Code Playgroud)

我想orderBy需要Product::直接关注,但我无法保存$products = Product::,可以吗?

有什么建议?谢谢.

php laravel eloquent

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

Bootstrap collapse的hide方法将显示collapse元素

这是一个简单的例子:链接

  1. 单击调整大小按钮,使box div更大
  2. 再次单击该按钮,使其恢复正常大小.但是,您将看到不应显示的折叠元素.

我猜这是由于这条线:

$("div.inbox").collapse("hide");
Run Code Online (Sandbox Code Playgroud)


此行的目的是:如果用户单击a标记以显示折叠元素,则当它们缩小时box div,将隐藏折叠元素.

奇怪的是问题只发生在第一次点击resize按钮时.我不知道为什么会这样.

jquery twitter-bootstrap

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

Laravel雄辩如何获得非NULL的最小值?

这是我的Product模型中的代码,以获得最低价格值(一个产品可以有多个价格)

public function getLowestAttribute ()
{
    return $this->prices->min('price');
}
Run Code Online (Sandbox Code Playgroud)

NULL如果存在,它将返回而不是最小的整数NULL.

基本上我想实现这个目标:

[1, NULL, 2] 回报 1

[1, NULL, 0] 回报 0

任何建议将不胜感激.

php laravel eloquent

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

Laravel Eloquent如何加入查询而不是表?

我想在Laravel实现这个目标:

SELECT * FROM products JOIN
(SELECT product_id, MIN(price) AS lowest FROM prices GROUP BY product_id) AS q1
ON products.id = q1.product_id
ORDER BY q1.lowest;
Run Code Online (Sandbox Code Playgroud)

我写了这个,但显然有一些错误:

$products = new Product();
$products = $products->join(
    Price::whereNotNull('price')->select('product_id', DB::raw('min(price) as lowest'))->groupBy('product_id'), 'products.id', '=', 'product_id'
    )->orderBy('lowest')->get();
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

ErrorException in Grammar.php line 39:
Object of class Illuminate\Database\Eloquent\Builder could not be converted to string.
Run Code Online (Sandbox Code Playgroud)

我目前正在使用它join(DB::raw('(SELECT product_id, MIN(price) AS lowest FROM prices WHERE price IS NOT NULL GROUP BY product_id) AS q1'), 'products.id', '=', 'q1.product_id')作为一种解决方法.只是想知道如何以雄辩的方式做到这一点?谢谢.

php mysql laravel eloquent

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

如何将数组字典保存到 Numpy 中的文件

我有一个数组字典

{1:array([...]), 2:array([...]), 3:array([...])}
Run Code Online (Sandbox Code Playgroud)

我想将它保存到一个文件中,稍后再加载。

我发现一个 numpy 有一个输入和输出方法的列表,但似乎它们只处理数组。

谢谢。

python numpy

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

web抓取一个网页,其中包含通过ajax加载的动态内容

说我希望在这个页面上刮取产品(http://shop.coles.com.au/online/national/bread-bakery/fresh/bread#pageNumber=2¤tPageSize=20)

但是产品是从post请求中加载的.这里很多帖子建议模拟一个请求得到动态的内容,但在我的情况下,Form Data对我来说是未知的,即catalogId,categoryId.

我想知道response在ajax呼叫结束后有可能得到它吗?

python scrapy web-scraping

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

如何在Python中将不带引号的字符串转换成字典

我有一串

"{a:'b', c:'d',e:''}"
Run Code Online (Sandbox Code Playgroud)

请不要因为字典条目的键未加引号,所以上一个问题eval("{a:'b', c:'d',e:''}")所建议的简单方法不起作用。

将这个字符串转换成字典的最方便的方法是什么?

{'a':'b', 'c':'d', 'e':''}
Run Code Online (Sandbox Code Playgroud)

python

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

在chart.js中使用空值的步进行

我有数据:[10,5,null,10,5]和标签:[2010, 2011, 2012, 2013, 2014]

我想绘制一条在2012和之间有间隙的阶梯线2013.当我设置steppedLinetrue,它只是画了一条垂直线的2011,但没有横线连接20112012作为价值2012null.如果我设置spanGapstrue,它将从值20112013值绘制一条线5.

基本上我正在寻找的是如果起始值是一个数字并且结束值是null,则绘制一条线,但反之则不然

的jsfiddle

控制器中的相关代码:

    _this.lines = {};
    _this.lines.labels = [2010,2011,2012,2013,2014];
    _this.lines.data = [
        [10, 5, null, 10, 5]    
    ];
    _this.lines.series = ['Now'];
    _this.lines.options = {
        scales: {
            xAxes: [{
                type: 'time',
                time: {
                    parser: 'DD MMM YYYY'
                }
            }],
            yAxes: [{
                type: …
Run Code Online (Sandbox Code Playgroud)

javascript chart.js

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

Spark 流 + Kinesis 中的 KinesisUtils.createStream 错误

我正在尝试使用Spark Streaming + Kinesis Integration从 AWS Kinesis 流式传输数据

我的代码如下所示:

sc = SparkContext('local[*]', 'app_name')
ssc = StreamingContext(sc, 10)

kinesisStream = KinesisUtils.createStream(ssc,
    kinesisAppName='kinesis_app_name',
    streamName='kinesis_stream_name',
    endpointUrl='https://kinesis.ap-southeast-2.amazonaws.com',
    regionName='ap-southeast-2',
    initialPositionInStream=InitialPositionInStream.TRIM_HORIZON,
    checkpointInterval=10)
Run Code Online (Sandbox Code Playgroud)

运行脚本的命令:spark-submit --packages org.apache.spark:spark-streaming-kinesis-asl_2.11:2.2.0 script.py。我正在使用 Spark 2.2.0 和 Pyspark。

我得到的错误:

错误:root:发送命令时出现异常。回溯(最近一次调用最后):文件“/home/ubuntu/transformer/env/lib/python3.5/site-packages/py4j/java_gateway.py”,第1035行,在send_command中引发Py4JNetworkError(“来自Java端的答案是空”)py4j.protocol.Py4JNetworkError:Java 端的答案为空

在处理上述异常的过程中,又出现了一个异常:

回溯(最近一次调用最后):文件“/home/ubuntu/transformer/env/lib/python3.5/site-packages/py4j/java_gateway.py”,第883行,在send_command响应=connection.send_command(command)文件中“/home/ubuntu/transformer/env/lib/python3.5/site-packages/py4j/java_gateway.py”,第 1040 行,在 send_command“接收时出错”,e,proto.ERROR_ON_RECEIVE)py4j.protocol.Py4JNetworkError:接收 Traceback 时出错(最近一次调用最后一次):文件“kinesis_to_s3.py”,第 63 行,在 checkpointInterval=streaming_interval 中)文件“/home/ubuntu/transformer/env/lib/python3.5/site-packages/pyspark/streaming /kinesis.py”,第 92 行,在 createStream stsSessionName,stsExternalId)文件“/home/ubuntu/transformer/env/lib/python3.5/site-packages/py4j/java_gateway.py”,第 1133 行,在呼叫 应答中, self.gateway_client,self.target_id,self.name)文件“/home/ubuntu/transformer/env/lib/python3.5/site-packages/py4j/protocol.py”,第327行,采用get_return_value格式(target_id,“ .", name)) py4j.protocol.Py4JError:在线程“Thread-2”java.lang.NoClassDefFoundError 中调用 o27.createStream 异常时发生错误:com/amazonaws/services/kinesis/clientlibrary/lib/worker/InitialPositionInStream at java.lang.Class.getDeclaredMethods0(本机方法) 在 java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 在 java.lang.Class.privateGetPublicMethods(Class.java:2902) 在 java.lang.Class.getMethods( Class.java:1615) 在 py4j.reflection.ReflectionEngine.getMethodsByNameAndLength(ReflectionEngine.java:345) 在 py4j.reflection.ReflectionEngine.getMethod(ReflectionEngine.java:305) …

apache-spark amazon-kinesis spark-streaming pyspark

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