我正在使用HighCharts库生成一些动态图表.但是,我想将HighCharts画布元素渲染为PNG图像,这样用户就可以将图表复制并粘贴到电子邮件等中,而无需使用导出功能.
具体来说,我正在尝试创建一个包含图表的HTML电子邮件模板,并希望用户能够选择所有>复制/粘贴到他们的电子邮件客户端而不是复制/粘贴,导出图像,然后找到一种方法将其插入电子邮件中.
我发现了这个:将HTML Canvas捕获为gif/jpg/png/pdf?,但代码似乎没有呈现文档的图像.
我试图通过ajax将变量传递给运行MySQL查询的PHP脚本.但是,我一直收到错误404 Not Found with:"http:// myurl/database /%5Bobject%20Object%5D".
看起来它正在尝试将数据发送到http:// myurl/database /%5Bobject%20Object%5D而不是我定义的PHP脚本.真的在这一点上不知所措......我认为把绝对URL放进去会有用.
以下是我的代码.永远感激任何帮助....
<script type="text/javascript">
function insertData()
{
var dataid= $('#dataid').attr('value');
var industry = $('#industry').attr('value');
var geolocation = $('#geolocation').attr('value');
$.post({
type: "POST",
url: "http://myURL/database/InsertData.php",
data: "dataid="+ dataid+"&industry="+ industry +"&geolocation="+ geolocation,
});
return false;
};
</script>
Run Code Online (Sandbox Code Playgroud) 遗憾的是,我需要从第三方供应商导入数据,并将我们的非标准数据库模式与我的laravel项目一起使用.另外,我需要存储多个"公司",每个公司在我的数据库中都有自己的一组用户.
我正试图找出使用Eloquent来处理这些表之间关系的最佳方法(如果可以的话).所以,例如,我的表结构如下:
BmPerson
'id',
'firmId',
'personId'
BmCoverage
'id',
'firmId',
'personId',
'securityId'
BmSecurity
'id',
'firmId',
'securityId'
Run Code Online (Sandbox Code Playgroud)
...例如,我需要通过"BmCoverage"表将"BmPerson"与许多"BmSecurity"相关联.
但我需要以某种方式使用复合键,因为我在每个表中存储多个"公司"(根据第三方供应商的数据库模式).
我到目前为止使用的一种方法是确定范围,例如:对于我的BmCoverage模型:
public function scopeFromFirm($query,$firmId){
return $query->where('firmId','=',$firmId);//->where('personId','=',$personId);}
public function scopeFromPerson($query,$personId){
return $query->where('personId','=',$personId);//->where('personId','=',$personId);}
Run Code Online (Sandbox Code Playgroud)
然后我可以检索个人的覆盖列表,但我仍然需要以某种方式将"BmCoverage"与"BmSecurities"联系起来.我想我也可以在BmSecurities类中添加一个范围,但是使用Eloquent会更好.
有没有人想出一个在laravel模型关系中使用复合键的好方法,或者我应该坚持使用作用域方法?
我在Azure上提供了一个Laravel应用程序.我正在使用AJAX请求来轮询javascript图表的数据.
AJAX请求在我的路由(web.php)中定义的URL,因此:
Route::get('/rfp_chart_data', 'DataController@chart_data')->name('chart_data');
Run Code Online (Sandbox Code Playgroud)
该控制器方法运行postgresql查询并返回JSON文件.一切正常.
但是,在遇到一些性能问题后,我决定监视postgres查询,并发现对于此URL的每个请求,同一查询运行了3次.
无论我是否:
通过AJAX请求访问URL
直接转到浏览器中的URL
通过cURL访问URL
这个(AFAIK)消除了这种某种缺少img src问题的可能性(例如什么可能导致双页请求?)
非常感谢任何帮助......
编辑:
postgres pg_stat_activity中重复查询的图像 - 来自1个Web请求:
编辑:
完整控制器代码:
<?php
namespace App\Http\Controllers;
use App\AllRfpEntry;
use DB;
use Illuminate\Http\Request;
use Yajra\Datatables\Facades\Datatables;
class DataController extends Controller {
/**
* Displays datatables front end view
*
* @return \Illuminate\View\View
*/
//|| result_url || '\">' || result_title || '</a>'
public function chart_data(Request $request) {
$binding_array = array();
$chart_data_sql = "SELECT relevant_dates.date::date,
CASE WHEN award_totals.sum IS NULL
THEN 0
ELSE award_totals.sum
END …Run Code Online (Sandbox Code Playgroud) 尝试使用OR条件连接2个表,如下所示:
FULL JOIN table1
ON (replace(split_part(table1.contract_award_number::text, ' '::text, 2), '-'::text, ''::text)) = table2.contract_award_id
OR (btrim(replace(table1.solicitation_number::text, '-'::text, ''::text))) = table2.solicitation_id
Run Code Online (Sandbox Code Playgroud)
但是Postgresql对我大吼大叫:
FULL JOIN is only supported with merge-joinable or hash-joinable join conditions
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?出于某种原因,如果我添加条件:
WHERE table1.solicitation_number::text ~~ '%%'::text
Run Code Online (Sandbox Code Playgroud)
错误没有发生,但我怀疑这是结果FULL JOIN结果.
谢谢你的帮助.
我有一个循环计算几个收入值,然后将它们加在一起,如下所示:
$SalesGrowth = $C2012Sales+$C2011Sales;
Run Code Online (Sandbox Code Playgroud)
在某些情况下,这是有效的,我得到了预期,例如:761.9 + 759.0 = 1520.9
在其他情况下,它看起来像PHP随机决定圆不正确(??)和更改单位(?),我得到:
8,788.0 + 8,794.3 = 16
这里发生了什么?我甚至试图回应由空格分隔的单独销售价值,并且它们正确显示,因此基本数字没有错.
ajax ×2
laravel ×2
php ×2
postgresql ×2
addition ×1
canvas ×1
highcharts ×1
join ×1
jquery ×1
math ×1
png ×1
post ×1
render ×1
rounding ×1
subtraction ×1