Mi problema es el siguiente, tengo declarada las relaciones hasMany y belongsTo en mi Modelo "Traspaso". A la hora de buscar los Items de producto con belongsTo me los muestra,
hasta ahí ningun problema, pero luego quiero acceder a la información dela bodega que realizo el traspaso , creo la relación belongsTo y me da error.
No se si estoy declarando mal la relación o si estoy tratando de acceder mal a la información que me retorna. Si alguien me puede ayudar se lo agradeceria mucho, estoy aprendiendo hace muy poco laravel.
Si me ayudan y orientan con ejemplos de como trabajar con las relaciones y como acceder a la información que estos retornan se los agradeceria muchisimo!
este es el error
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'almacen.traspaso_id' in 'where clause' (SQL: select * from `almacen` where `almacen`.`traspaso_id` = 1 and `almacen`.`traspaso_id` is not null) (View: C:\xampp\htdocs\tienda-master\resources\views\traspaso\index.blade.php)
este es mi modelo "traspaso"
class Traspaso extends Model
{
protected $table = 'traspaso';
protected $fillable = ['fecha', 'origen_id', 'destino_id', 'folio', 'cantidad', 'product_id'];
public $timestamps = false;
public function bodega()
{
return $this->hasMany('App\Bodega');
}
public function product()
{
return $this->belongsTo('App\Product');
}
}
este es modelo "Bodega"
use Illuminate\Database\Eloquent\Model;
class Bodega extends Model
{
protected $table = 'almacen';
protected $fillable = ['nombre', 'direccion', 'localidad','estado', 'ciudad', 'encargado'];
public $timestamps = false;
//
public function traspaso()
{
return $this->belongsTo('App\Traspaso');
}
}
este es mi controlador "traspasoController"
class traspasoController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$traspasos = Traspaso::all();
$producto = Product::orderBy('id', 'desc')->lists('cve_art','id');
$bodega = Bodega::orderBy('id', 'desc')->lists('nombre','id');
//
return view ('traspaso.index', compact('traspasos','bodega','producto'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
$traspasos = Traspaso::all();
$producto = Product::orderBy('id', 'desc')->lists('cve_art','id');
$bodega = Bodega::orderBy('id', 'desc')->lists('nombre','id');
return view('traspaso.create', compact('traspasos','bodega','producto'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$data = [
'fecha' => $request->get('fecha'),
'origen_id' => $request->get('origen_id'),
'destino_id' => $request->get('destino_id'),
'folio' => $request->get('folio') ,
'cantidad' => $request->get('cantidad'),
'product_id' => $request->get('product_id')
];
$traspaso = Traspaso::create($data);
$message = $traspaso ? 'Garantia realizada correctamente!' : 'La Garantia NO pudo agregarse!';
return redirect()->route('traspaso.index')->with('message', $message);
}
aqui hago la consulta de los datos
<tr>
<td>{{$traspaso->fecha}}</td>
<td>{{$traspaso->bodega->nombre}}</td>
<td>{{$traspaso->bodega->estado}}</td>
<td>{{$traspaso->folio}}</td>
<td>{{$traspaso->cantidad}}</td>
<td>{{$traspaso->product->cve_art}}</td>
<td>