質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

665閲覧

laravelのビューからchart.jsへ値を渡したいけど一纏めにされてしまう。

harusyoui

総合スコア55

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/11/14 02:49

前提・実現したいこと

laravelのこのsales_dataにあるindex.blade.phpというビューで
受け取る値を配列にしまして、
それをpie_chart.jsにわたしてるのですが、
本来円グラフのラベルの要素を「Tシャツ/カットソー」,「スウェット(セット)」,「デニムパンツ」,「パーカー」の4つにしたいのに
「Tシャツ/カットソー,スウェット(セット),デニムパンツ,パーカー」という1つの要素になってしまいます。
どこをどういじれば上手くいきますか?
イメージ説明

該当のソースコード

php

1@extends('layouts.app') 2 3@section('content') 4 5 <h3>売上金額</h3> 6 7 <h3>{{ $sales_amount }}</h3> 8 9 <h3>アクセサリー売上金額</h3> 10 11 <h3>{{ $accessories_sales_amount }}</h3> 12 13 <h3>商品別売上ランキング</h3> 14 15 @if (count($categorys) > 0) 16 <ul> 17 <?php $category_names = array(); ?> 18 <?php $category_amounts = array(); ?> 19 @foreach ($categorys as $category) 20 <li>{{ $category->category_name }}</li> 21 <?php $category_names[] = $category->category_name; ?> 22 <li>{{ $category->category_total }}</li> 23 <?php $category_amounts[] = $category->category_total; ?> 24 @endforeach 25 </ul> 26 @endif 27 28 <canvas id="myPieChart"></canvas> 29 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.min.js"></script> 30 <script type="text/javascript"> 31 var category_names = '<?php echo implode(",", $category_names) ?>'; 32 </script> 33 <script type="text/javascript" src="js/pie_chart.js"></script> 34 35@endsection

js

1(function() { 2 // alert('sample'); 3 var ctx = document.getElementById("myPieChart"); 4 var myPieChart = new Chart(ctx, { 5 type: 'pie', 6 data: { 7 labels: [category_names], 8 datasets: [{ 9 backgroundColor: [ 10 "#BB5179", 11 "#FAFF67", 12 "#BB5179", 13 "#FAFF67" 14 ], 15 data: [10, 20, 30, 40] 16 }] 17 }, 18 options: { 19 title: { 20 display: true, 21 text: '種類別売上' 22 } 23 } 24 }); 25})();

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

$category_names[] に入れる時点で文字列としてクォート込みにすれば良いかと。

php

1$category_names[] = '"'.$category->category_name.'"';

投稿2018/11/14 04:12

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

php

1var category_names = '<?php echo implode(",", $category_names) ?>';

ここ多分文字列になってしまってるので

php

1var category_names = ["<?php echo implode('","', $category_names) ?>"]; 2または 3var category_names = <?php echo json_encode($category_names) ?>;

php

1labels: category_names,

かなぁ(JavaScript文法になってるかちょっと自信ないので調整してください)

投稿2018/11/14 03:42

編集2018/11/14 03:52
rururu3

総合スコア5545

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

harusyoui

2018/11/14 04:10 編集

上手くいきました!! ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問