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

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

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

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

Q&A

0回答

333閲覧

Herokuのテーブルの情報をCloud9のテーブルと同じにしたい。

haruatu

総合スコア89

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

0グッド

0クリップ

投稿2022/02/24 17:36

編集2022/02/25 01:35

Cloud9でlaravelを用いて作ったアプリケーションをHerokuにデプロイしたが、テーブルだけおかしなことになってしまい困っています。テーブルには、あるAPIから取得したデータを登録しておいたのですが、Herokuの方で確認してみると、テーブル自体はあるのに、その中に何のデータも登録されていない空の状態になっていました。一応、Cloud9の方も確認したのですが、そちらの方はきちんとデータが登録されている状態でした。

HerokuのテーブルをCloud9のテーブルと同じようにデータが登録されている状態にしたいのですがどうしたらいいのでしょうか?

--追記--

テーブルには、あるAPIから取得したデータを登録しておいたのですが どのような方法で登録しましたか?

cloud9のController.phpで以下のようにコードを記述してレコードに登録しました

//APIの取得と登録 public function bookapi() { $client = new \GuzzleHttp\Client(); //本のタイトルや筆者名等のAPI $url = 'https://iss.ndl.go.jp/api/opensearch?dpid=aozora'; $response = $client->request( 'GET', $url, ); $xml=$response->getBody()->getContents(); $obj= simplexml_load_string($xml); $booklist= json_encode($obj); $booklist= json_decode($booklist,true) $books=$booklist['channel']['item']; //楽天ブックス書籍検索 $rakutenn_url = 'https://app.rakuten.co.jp/services/api/BooksBook/Search/20170404?applicationId=1070968634966804263'; $rakutenn_response = $client->request( 'GET', $rakutenn_url, ); $rakutenn_json = $rakutenn_response->getBody()->getContents(); $rakutenn_booklist= json_decode($rakutenn_json,true); $rakutenn_books = $rakutenn_booklist['Items']; //2つのAPIの情報を一つにまとめる $bookbook = []; for($i=0;$i<count($books);$i++) { $books[$i] += ["isbn" => null]; $books[$i] += ["booksGenreId" => null]; $books[$i] += ["publisherName" => null]; $books[$i] += ["largeImageUrl" => null]; array_push($bookbook,$books[$i]); } for($i=0;$i<count($rakutenn_books);$i++) { $rakutenn_books[$i]['Item'] += ["guid" => null]; $rakutenn_books[$i]['Item'] += ["link" => null]; $rakutenn_books[$i]['Item'] += ["category" => null]; array_push($bookbook,$rakutenn_books[$i]['Item']); } //これが登録 foreach($bookbook as $item) { Book::create([ 'title'=>$item['title'], 'link'=>$item['link'], 'author'=>$item['author'], 'category'=>$item['category'], 'guid'=>$item['guid'], 'isbn'=>$item['isbn'], 'booksGenreId'=>$item['booksGenreId'], 'publisherName'=>$item['publisherName'], 'largeImageUrl'=>$item['largeImageUrl']]); } }

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

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

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

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

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

maisumakun

2022/02/25 01:04

> テーブルには、あるAPIから取得したデータを登録しておいたのですが どのような方法で登録しましたか?
haruatu

2022/02/25 01:36

質問文の方に追記として書いておきます。
maisumakun

2022/02/25 01:59

> 以下のようにコードを記述して それは、HerokuとCloud9の両方で実行しましたか?
haruatu

2022/02/25 02:22

Herokuで実行するには、どこにコードを書いたらいいのでしょうか?
maisumakun

2022/02/25 02:40

Cloud9で実行したのと同じことを行う、でいいのではないでしょうか。 (一般に、コードは書いただけでは実行されません)
haruatu

2022/02/25 03:02

Cloud9のテーブルのレコードをHerokuのテーブルのレコードに移したり、コピーしたりする手段はないという事でしょうか?
maisumakun

2022/02/25 04:31

> Cloud9のテーブルのレコードをHerokuのテーブルのレコードに移したり、コピーしたりする手段はないという事でしょうか? それを先に書いてほしかったです(「同じことをやったのに、Herokuではうまくいかなかった」という意味だと解釈していました)。
haruatu

2022/02/25 05:53

確かに、最初に書いておくべきでした。 大変申し訳ありませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問