나는 Laravel package for the Wordpress JSON REST API을 사용하고 있으며 정상적으로 작동합니다. 내 블로그 포스트를 내 데이터베이스에 저장하고 싶습니다. 나는라는 이름의 테이블 내가 파일 app/blogpost
SQLSTATE [HY000] [2002] 데이터베이스에 데이터를 쓰려고 할 때 Laravel과 연결이 거부되었습니다.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class blogpost extends Model
{
//
}
idybrand_laravel
을 추가 phpMyAdmin
를 사용하여 내 BlogController
난 그냥 3에 데이터를 저장하고자하는, 간단한 테스트를 시도하고있다 표의 필드
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use WpApi;
use App\blogpost;
use Carbon\Carbon;
class BlogController extends Controller
{
public function getPosts()
{
foreach (WpApi::posts() as $post) {
$this->createPost($post);
}
//return view('pages.blog', ['active'=>'navBlog'])->with('posts', WpApi::posts());
}
protected function createPost($data)
{
$post = new blogpost();
$post->id = $post['id']; // integer
$post->wp_id = $post['id']; // integer
$post->link = $post['link']; //string
$post->save();
return $post;
}
}
변하지 않았습니다. config/database.php
내 .env
파일은 다음과 같습니다
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=idybrand_laravel
DB_USERNAME=idybrand_dave
DB_PASSWORD=myPassword
I 나타나는 오류는 다음과 같습니다
QueryException in Connection.php line 770: SQLSTATE[HY000] [2002] Connection refused (SQL: insert into
블로그 게시물 (
ID ,
이 ,
created_at updated_at ,
링크 ,
를 wp_id ) values (, , , 2017-02-17 10:21:57, 2017-02-17 10:21:57))
내가 코드를 작성해야합니까 init
또는 save
~ app/blogpost
? 아무도 왜 연결이 거부되는지 말해 줄 수 있습니까? 내 프로젝트가 개발 단계가 아니기 때문에 localhost
을 사용하고 있습니다.
는 편집 :
$ mysql -u idybrand_dave -pMY_PASSWORD -h 181.224.130.159 idybrand_laravel
및 사용 : davejal을 포함하여 채팅에서 사람의 도움 후
, 지금은 둘 다 OS X에서 명령 줄을 통해 서버에 연결할 수 있어요 Sequel Pro에 문제가 없습니다. 하지만 내 .env
파일에 그 동일한 설정을 사용하여 연결을 시도 할 때 나는 아직도 Laravel에서 같은 오류가 발생합니다 : 나는 또한 소나에 의해 제안 내 모델을 편집하려
DB_CONNECTION=mysql
DB_HOST=181.224.130.159 //Siteground IP Address
DB_PORT=3306
DB_DATABASE=idybrand_laravel
DB_USERNAME=idybrand_dave
DB_PASSWORD=MY_PASSWORD
하지만 도움이되지 않습니다
를class blogpost extends Model
{
protected $table = 'blogposts';
protected $fillable = array('id', 'wp_id', 'link', 'title', 'author_code', 'content', 'created_at', 'updated_at');
}
누구든지이 오류에 대해 밝히실 수 있습니까?
최종 편집 :
나는 내가이 '생산에 서버 (Siteground)에 존재하는 테이블에 데이터를 작성하는 로컬 호스트'지역 '개발 환경을 사용할 수 있다고 생각한다는 점에서 근본적인 오해가 있었다 환경.
일단 Laravel Database Getting Started을 읽고 Mindspace가 these three 개의 동영상을 본 것은 분명합니다. 기본적으로 로컬에서 실행되는 서버 환경이 필요했으며 이는 Vagrant 및 VMWare Fusion에 의해 제공됩니다.
설정 후 homestead-7 VM
이 실행 중이었고 데이터베이스에 쓰는 동안 브라우저에서 http://idy.app/
에 액세스 할 수있었습니다.
내 .env
파일 :이 솔루션에 저를 인도로 나는 davejal의 답변을 수락 한
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=33060
DB_DATABASE=idy
DB_USERNAME=homestead
DB_PASSWORD=secret
.
blogpost 모델에서 채우기 가능한 열을 추가해야합니다. – Sona
@Sona 건배 - 내가 시도해 보겠습니다 –
보호 된 $ fillable = [ 'fname', 'lname'];이 .. 광고 열 이름 – Sona