나는 테이블 서적과 작가가있다. 저자에게 책을 첨부 할 수있는 권한을 얻고 싶습니다. 책 I 조정 빵 : Laravel Voyager : BelongsToMany
내가 편집을 클릭하고 내 책의 저자를 선택할 수 있습니다 이러한 설정으로,하지만 난 책을 저장하려고하면, laravel이 오류가 밖으로 준다 :
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: 'Mrs. Alivia
Stanton IV' for column 'authors_id' at row 1 (SQL: insert into
`authors_books` (`authors_id`, `books_id`) values (Mrs. Alivia Stanton IV,
55))
그리고 이것은이다 논리적이다. 내가 id
에 name
을 전환 할 때, laravel이 오류를 제공합니다
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id' in field
list is ambiguous (SQL: select `id` from `authors` inner join
`authors_books` on `authors`.`id` = `authors_books`.`authors_id` where
`authors_books`.`books_id` = 57) (View:
나는 모든 조합을 사용하려고했으나 아무 일도하지 않습니다.
모델 책 :
class Books extends Model
{
protected $fillable = ['name','img'];
public function authors()
{
return $this->belongsToMany('App\Authors');
}
public function getImgAttribute($img)
{
if(!empty($img)){
return 'storage/images/books/'.$img;
}else{
return 'storage/images/books/not-found.jpg';
}
}
}
모델 저자 :
class Authors extends Model
{
protected $fillable = ['name','img'];
public function books()
{
return $this->belongsToMany('App\Books');
}
public function getImgAttribute($img)
{
if(!empty($img)){
return 'storage/images/authors/'.$img;
}else{
return 'storage/images/books/not-found.jpg';
}
}
}
책에 저자를 부착 할 때 코드를 입력하십시오 . – dexterb
'id'를 선택할 때 테이블을 지정해야하므로 다음과 같아야합니다. 'authors.id'from 'authors'[...] ' –
@dexterb 모델이 올바르게 설정되었으므로 정상적으로 작동합니다 보이저에,하지만 메신저 모델 코드를 넣으십시오 – NONAME